フルループは次のようになり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
ステートメントがあるときに混乱させないようにしてください。冒頭でelse
からif
で
line_list = ["no" if line == "yes" else line for line in file.splitlines()]
:たとえば:
line_list = []
for line in file.splitlines():
if line == "yes":
line_list.append("no")
else:
line_list.append(line)
はに解釈されます。どうして?あなたが尋ねる。まあ、それはこのように書かれている可能性:
line_list = []
for line in file.splitlines():
line_list.append("no" if line == "yes" else line)
あなたは見、理解の冒頭部分はまだ.append()
に渡されたものと同じです。 else
句は、理解の構文の一部ではありません。それは言語の別の特徴です。 TigerhawkT3 @
しかし、any()
を使用する方法について良い点を作りました。
'next'のような' any'短絡は、式がTrueと評価されるイテレータの要素があるとすぐにですか? –
はい、 'any()'と 'all()'は短絡します。 – TigerhawkT3