xor*_*yst 7 python performance list
我有两个清单:
a = [None, None, 1, None, 4, None, None, 5, None]
b = [7,8,2,3,6,9]
Run Code Online (Sandbox Code Playgroud)
我想合并它们,要么创建一个新列表,要么只是通过用b中的值填充Nones来更新a,所以
a = [7,8,1,2,4,3,6,5,9]
Run Code Online (Sandbox Code Playgroud)
这样做最有效的方法是什么?
对于扩展,我会想要对b的每个排列都这样做.这是否允许简化技术?
这是一种方法.使用列表推导并转换b为迭代器对象.
演示:
a = [None, None, 1, None, 4, None, None, 5, None]
b = [7,8,2,3,6,9]
b = iter(b)
print( [next(b) if i is None else i for i in a] )
Run Code Online (Sandbox Code Playgroud)
输出:
[7, 8, 1, 2, 4, 3, 6, 5, 9]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |