我知道如何在Python 3中使用zip()
函数。我的问题与以下内容有关,这使我感到相当奇怪:
我定义了两个列表:
lis1 = [0, 1, 2, 3]
lis2 = [4, 5, 6, 7]
我在以下方式中使用zip()
:
1. test1 = zip( lis1, lis2)
2. test2 = list(zip(lis1, lis2))
当我在解释器中输入
test1
时,会得到以下结果:
"zip object at 0x1007a06c8"
所以,我在解释器中键入list(test1)
并获得预期结果,但是当我再次键入list(test1)
时,我会得到一个空列表。
我发现奇怪的是,无论我在解释器中键入多少次test2
,我总是得到预期的结果,而不是空列表。
test2 = [*zip(lis1, lis2)]
。 - Friedrich -- Слава Україніtest2 = *zip(lis1, lis2)
,则将 zip 迭代器解包成一个元组(Python 3)。 - Friedrich -- Слава Україніzip
在3.x版本中生成迭代器而不是列表(就像在2.x版本中那样)的事实。我无法找到一个更好的版本的问题,只关注后者部分。 - Karl Knechtel