web-dev-qa-db-ja.com

pythonのリスト内包表記に基づく条件に基づいて要素をスキップします

私はリストを持っていますリスト:

List = [-2,9,4,-6,7,0,1,-4]

リスト内のゼロ(0)未満の数値については、それらの数値をスキップして別のリストを作成したいと思います。

例:-

List = [9,4,7,0,1]

これはある種の疑問ですが、達成できるかどうかはわかりません。出来れば誰でもここに投稿して頂けますか?.

11

あなたはそれを達成するための多くのオプションがあります。 リスト内包表記 を使用すると、次のことができます。

_my_list = [i for i in my_list if i>=0]
_

filter() の場合:

_my_list = filter(lambda i: i>=0, my_list)
_

注:

Python 3、filter()filterオブジェクト(listではなく)を返します。これをリストに変換するには、次のようにします。

_my_list = list(filter(lambda i: i>=0, my_list))
_
28
ettanany

最初は変数名に小文字を使用し、2番目は名前を予約しているため、listを使用しないでください。

次に、リスト内包内のifを実行します

my_list = [i for i in init_list if i >= 0 ]
6
Saksow