入力リストのコピーから0を引いたリストを作成しようとしています。Pythonリストで "False"を0にすることを排除する方法
入力リスト:
input = ['a', 'b', None, 'c', 'd', 1, 1, 3, [], 1, 9, {}, 9, 0, 0, 0, False, 0, 0, 0, 0, 0, 0, 0]
コード:
[i for i in input if i != 0]
出力:
['a', 'b', None, 'c', 'd', 1, 1, 3, [], 1, 9, {}, 9]
問題がでていることです入力リストには0以外の値と見なされない「False」値が存在するため、出力には表示されません。 "False"が出力に含まれるようにコードを変更するにはどうすればよいですか? bool
はint
のサブタイプであるため、
これには、OPが望むものではないかもしれない「0.0」が含まれます。 – Alasdair
@ Alasdair:もう一度、それはOPが望むものかもしれません。 =) – Ryan
あなたが正しいです、彼らが望むものかもしれません。 Python 2にはおそらくさらに混乱する '0L 'が含まれていました。 – Alasdair