6

リストを考えると

a = [6, 3, 0, 0, 1, 0]

Pythonでリストを返す最良の方法は何ですか?

b = [1, 1, 0, 0, 1, 0]

ここで、b の 1 は a の非ゼロ要素に対応します。for ループを実行して単に b に追加することも考えられますが、もっと良い方法があるはずです。

4

7 に答える 7

1

どうですか

>>> a = [6, 3, 0, 0, 1, 0]

>>> [bool(x) for x in a]
[True, True, False, False, True, False]

>>> [int(bool(x)) for x in a]
[1, 1, 0, 0, 1, 0]

目的に応じて、ブール値リストの方が適している場合があります。

于 2013-05-27T15:02:01.440 に答える