0

Есть файл, хочу проверить есть ли в файле например 'Имя' and 'Фамилия' in line, то-есть сузить поиск, питон 3 проверяет только последнее условие, как исправить?

Nick Volynkin
  • 34,094

3 Answers3

4

Рассмотрим менее привычные способы сделать то же самое.

strings = ['Имя', 'Фамилия']
line = 'Имя, Фамилия, Отчество'

Если у вас есть список значений, каждое из которых должно быть True, можно использовать all(). Выражение во внутренних скобках - это генератор. Он перебирает все строки в списке strings и для каждого вычисляет значение string in line. Полученные значения формируют новый список.

print (all(string in line for string in strings))

Можно добавить ещё функциональщины с помощью map. Этот код берёт каждый элемент из списка strings и проверяет, что line.__contains__(этот элемент) == True. Полученные значения аналогично формируют новый список.

print (all(map(line.__contains__, strings)))
Nick Volynkin
  • 34,094
2
"Имя" in line and "Фамилия" in line
Nick Volynkin
  • 34,094
aleks.andr
  • 2,489
0

Как по мне, самое простое это взять выражение в скобки.

('Имя' and 'Фамилия') in  line