ПОЛНАЯ петли выглядеть следующим образом:
line_list = []
for line in file.splitlines():
for item in my_list:
if item in line:
line_list.append(line)
Поместить в одной и той же линии, что-то вроде этого (не истинный синтаксис Python):
line_list = []
for line in file.splitlines(): for item in my_list: if item in line: line_list.append(line)
конечно, .append()
часть является общей для всех постижений, поэтому мы поместили его в начале:
line_list = [line for line in file.splitlines() for item in my_list if item in line]
Если вы просто думаете о подобных списках, то должно быть легко выяснить, какой порядок используется.
Не позволяйте этому путать вас, когда у вас есть else
заявлений. Например:
line_list = []
for line in file.splitlines():
if line == "yes":
line_list.append("no")
else:
line_list.append(line)
будет интерпретироваться:
line_list = ["no" if line == "yes" else line for line in file.splitlines()]
с if
- else
в самом начале. Зачем? ты спрашиваешь. Ну, это могло быть написано так:
line_list = []
for line in file.splitlines():
line_list.append("no" if line == "yes" else line)
Вы видите, часть в начале понимания все еще такой же, как то, что передается в .append()
. Предложение else
не является частью синтаксиса для понимания; это отдельная особенность языка.
@ TigerhawkT3 сделал хорошую точку об использовании any()
, хотя.
делает 'any' короткое замыкание типа' next', как только есть один элемент итератора, для которого выражение имеет значение True? –
Да, 'any()' и 'all()' будут замыкаться на короткое замыкание. – TigerhawkT3