Vin*_*yil 11 python list-comprehension list python-2.7 python-3.x
我有一个清单列表:
List = [-2,9,4,-6,7,0,1,-4]
Run Code Online (Sandbox Code Playgroud)
对于列表中小于零(0)的数字,我想跳过这些数字并形成另一个列表.
例:-
List = [9,4,7,0,1]
Run Code Online (Sandbox Code Playgroud)
这是我的一种怀疑,不确定如果我们能够实现.如果有可能实现,任何人都可以在这里发布.
ett*_*any 28
你有很多选择来实现这一目标.通过列表理解,您可以:
my_list = [i for i in my_list if i>=0]
Run Code Online (Sandbox Code Playgroud)
用filter():
my_list = filter(lambda i: i>=0, my_list)
Run Code Online (Sandbox Code Playgroud)
注意:
在Python 3中,filter()返回一个filter对象(不是list),将其转换为一个列表,你可以这样做:
my_list = list(filter(lambda i: i>=0, my_list))
Run Code Online (Sandbox Code Playgroud)
首先使用小写的变量名,第二次不使用,list因为它保留了名称.
然后在列表理解中做一个if
my_list = [i for i in init_list if i >= 0 ]
Run Code Online (Sandbox Code Playgroud)