在 Python 中的地图中调用 none 3
Calling none in maps in Python 3
我在 Python2.7 中执行以下操作:
>>> a = [1,2,3,4,5]
>>> b = [2,1,3,4]
>>> c = [3,4]
>>> map(None, a, b, c)
[(1, 2, 3), (2, 1, 4), (3, 3, None), (4, 4, None), (5, None, None)]
我正尝试在 Python3
中做类似的事情
>>> a = [1,2,3,4,5]
>>> b = [2,1,3,4]
>>> c = [3,4]
>>> map(None, a, b, c)
<map object at 0xb72289ec>
>>> for i,j,k in map(None, a, b, c):
... print (i,j,k)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
如何在 Python3 中复制 Python2 结果?
改用itertools.zip_longest()
function:
from itertools import zip_longest
for i, j, k in zip_longest(a, b, c):
这将三个列表压缩在一起,用 fillvalue
关键字值(默认为 None
)填充。
我在 Python2.7 中执行以下操作:
>>> a = [1,2,3,4,5]
>>> b = [2,1,3,4]
>>> c = [3,4]
>>> map(None, a, b, c)
[(1, 2, 3), (2, 1, 4), (3, 3, None), (4, 4, None), (5, None, None)]
我正尝试在 Python3
中做类似的事情>>> a = [1,2,3,4,5]
>>> b = [2,1,3,4]
>>> c = [3,4]
>>> map(None, a, b, c)
<map object at 0xb72289ec>
>>> for i,j,k in map(None, a, b, c):
... print (i,j,k)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
如何在 Python3 中复制 Python2 结果?
改用itertools.zip_longest()
function:
from itertools import zip_longest
for i, j, k in zip_longest(a, b, c):
这将三个列表压缩在一起,用 fillvalue
关键字值(默认为 None
)填充。