これを1行に書き込む方法がありますか?'else else pass'の場合、 'do_this()'のpythonic方法は何ですか?
>> list.append(elem) if condition else pass
私は時々このようなものが必要でしたし、それを達成するための最善の方法はわかりません。
これを1行に書き込む方法がありますか?'else else pass'の場合、 'do_this()'のpythonic方法は何ですか?
>> list.append(elem) if condition else pass
私は時々このようなものが必要でしたし、それを達成するための最善の方法はわかりません。
if
ステートメントは、文を条件付きで実行するためのものです。
if condition:
list.append(elem)
あなた本当にが1行にすべてを望んでいた場合、私はあなたができるとします
if condition: list.append(elem)
しかし、これは間違いなく非常に読みにくくし、慣用でしょう!あなたの第二の例については
(更新:それは問題外に編集された):
(list1 if condition else list2).append(elem)
あなたに
list.append(elem) if condition else other_list.append(elem)
を短縮することができますので、Pythonは、あなたがどこにも三元表現を使用することができます
しかし、上記を2つのステートメントに分割すると、より読みやすくなります。つまり、より慣用的です。
lucky_list = list1 if condition else list2
lucky_list.append(elem)
私は悪い例とそれが混乱していた疑問を書いたので、質問を更新しました。 –
@LuisGonzálezあなたはそれを1行に収めることができますが、それは読みにくく、したがって慣用的ではありません。それに応じて更新された回答。 –
私は一行にアプローチする方が読みやすくなったとはいえ、私は今のところそれを考慮に入れます –
if condition:
list.append(elem)
else:
other_list.append(elem)
他の方法もありますが、これは最もPythonicです。
私は悪い例とそれが混乱していた疑問を書いたので、質問を更新しました。ありがとう –
私は 'if'ステートメントの使用をお勧めします。可読性を犠牲にしてコンパクト化を試みる必要性も、価値もありません。 –
https://codereview.stackexchange.comの方が適していますか? –
これは、** A)**コードが動作し、**およびB)**コードが仮説でもなく不完全でもないと仮定して、Code Reviewのトピックになる可能性があります。 – Quill
' else'条件か 'if'条件のためのものか? – Cosinux