回答:
[x
for
x
in
(1,2,3)
]
うまく機能するので、あなたは好きなようにほとんど行うことができます。私は個人的に好みます
[something_that_is_pretty_long
for something_that_is_pretty_long
in somethings_that_are_pretty_long]
\
あまり評価されない理由は、それが行の最後に表示されるためです。目立たないか、余分なパディングが必要で、行の長さが変更されたときに修正する必要があります。
x = very_long_term \
+ even_longer_term_than_the_previous \
+ a_third_term
そのような場合は、括弧を使用します。
x = (very_long_term
+ even_longer_term_than_the_previous
+ a_third_term)
私は反対していません:
variable = [something_that_is_pretty_long
for something_that_is_pretty_long
in somethings_that_are_pretty_long]
\
この場合は必要ありません。一般に、\
少し醜いので人々は避けると思いますが、それが行の最後でない場合は問題を引き起こす可能性があります(空白がそれに続かないようにしてください)。ただし、行の長さを抑えるためには、使用するよりも使用する方がはるかに良いと思います。
以来\
上記の場合、または括弧で囲まれた表現のために必要ではないですが、私は実際に私もそれを使用する必要があること、それはかなり珍しい見つけます。
複数のデータ構造のリストを処理している場合は、複数のインデントを利用することもできます。
new_list = [
{
'attribute 1': a_very_long_item.attribute1,
'attribute 2': a_very_long_item.attribute2,
'list_attribute': [
{
'dict_key_1': attribute_item.attribute2,
'dict_key_2': attribute_item.attribute2
}
for attribute_item
in a_very_long_item.list_of_items
]
}
for a_very_long_item
in a_very_long_list
if a_very_long_item not in [some_other_long_item
for some_other_long_item
in some_other_long_list
]
]
また、ifステートメントを使用して別のリストにフィルター処理する方法にも注目してください。ifステートメントを独自の行にドロップすることも役立ちます。
for
です。