我有一个清单
list1 = [-10,1,2,3,9,-1]
我想将负数更改为零,使其看起来像
list1 = [0,1,2,3,9,0]
我该怎么办?谢谢!
答案 0 :(得分:11)
你可以使用理解:
list2 = [0 if i < 0 else i for i in list1]
或
list2 = [(i > 0) * i for i in list1]
请注意,第二个变体仅适用于自True == 1
和False == 0
以来的Python 3。它应该与Python 2一起使用,但不能保证。
答案 1 :(得分:3)
您也可以使用map
功能
map(lambda x: max(x,0),list1)
答案 2 :(得分:-1)
遍历列表,如果小于0就改变它
def do_the_thing(old_list):
new_list = []
for num in old_list:
if num < 0:
new_list.append(0)
else:
new_list.append(num)
return new_list