繁体   English   中英

Python:如何使用列表推导将一个列表中的 None 替换为另一个列表中的值?

[英]Python: How to use a list comprehension to replace Nones in one list with values from another list?

a = [0,   -4, 4,    6, 2, 5, 8]
b = [5, None, 3, None, 3, 2, 0]
c = [5,   -4, 3,    6, 3, 2, 0]

我想将ab作为输入并获得c ,理想情况下使用列表理解。 显然我可以用循环遍历它,但我想知道是否有更优雅/pythonic 的解决方案。

这应该工作:

c = [value if value is not None else a[index] for index, value in enumerate(b)]

您还可以使用zip function:

c = [i if j is None else j for i,j in zip(a,b)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM