解压缩导致 ValueError 的 zip 对象
Unpacking a zip object causing ValueError
我使用以下代码行创建了一个 zip 对象:
k=zip([1,2,3],['a','b','c'])
将其转换为列表可得到输出:
[(1,'a'),(2,'b'),(3,'c')]
但是,当我使用这行代码时
x,y=zip(*k)
它给了我这个 ValueError:
"ValueError: not enough values to unpack (expected 2, got 0)"
我一直在努力找出问题所在,但一无所获。
方法zip
returns一个迭代器,所以当你打印它时,你消耗它所以之后k
是空的
直接应用第二个zip
k = zip([1,2,3],['a','b','c'])
x,y = zip(*k)
print(x, "/", y) # (1, 2, 3) / ('a', 'b', 'c')
将其包裹在 list
中以便多次使用
k = list(zip([1,2,3],['a','b','c']))
print(k) # [(1, 'a'), (2, 'b'), (3, 'c')]
x,y = zip(*k)
print(x, "/", y) # (1, 2, 3) / ('a', 'b', 'c')
我使用以下代码行创建了一个 zip 对象:
k=zip([1,2,3],['a','b','c'])
将其转换为列表可得到输出:
[(1,'a'),(2,'b'),(3,'c')]
但是,当我使用这行代码时
x,y=zip(*k)
它给了我这个 ValueError:
"ValueError: not enough values to unpack (expected 2, got 0)"
我一直在努力找出问题所在,但一无所获。
方法zip
returns一个迭代器,所以当你打印它时,你消耗它所以之后k
是空的
直接应用第二个
zip
k = zip([1,2,3],['a','b','c']) x,y = zip(*k) print(x, "/", y) # (1, 2, 3) / ('a', 'b', 'c')
将其包裹在
list
中以便多次使用k = list(zip([1,2,3],['a','b','c'])) print(k) # [(1, 'a'), (2, 'b'), (3, 'c')] x,y = zip(*k) print(x, "/", y) # (1, 2, 3) / ('a', 'b', 'c')