如何在 python 中将所有负数更改为零?

新手上路,请多包涵

我有一个清单

    list1 = [-10,1,2,3,9,-1]

我想将负数更改为零,这样它看起来像

    list1 = [0,1,2,3,9,0]

我该怎么做?谢谢!

原文由 hassISC 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 658
2 个回答

您可以使用理解:

 list2 = [0 if i < 0 else i for i in list1]

或者

list2 = [(i > 0) * i for i in list1]

请注意,第二个变体仅适用于 Python 3,因为 True == 1False == 0 。它 应该 适用于 Python 2,但不能保证。

原文由 Selcuk 发布,翻译遵循 CC BY-SA 3.0 许可协议

您也可以使用 map 函数

map(lambda x: max(x,0),list1)

原文由 Thiru 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题