我想知道如何在Python中的列表中只取正值。
例如,如果我有A = [1, 2, 3]
,则应返回[1, 2, 3]
如果我有A = [-1, 2, 3]
,则应返回[2, 3]
如果我有A = [-1, -2]
,则应返回None
非常感谢!
答案 0 :(得分:2)
以下内容可行:
def pos(lst):
return [x for x in lst if x > 0] or None
pos([-1, 2, 3])
# [2, 3]
pos([-1, -2])
# None
答案 1 :(得分:1)
您可以尝试newlist = filter(lambda a: a > 0, [1, 2, 3]) or None
或[i for i in original_list if i > 0] or None
答案 2 :(得分:1)
如果您对None
最终输出有严格要求,请使用此方法:
result = [i for i in l if i > 0] or None
这样,如果你最终没有元素,那么它会为你提供None
。