如何解决Python3 ValueError - 迭代列表时要解压的值太多
这是一个简单的代码,用于使用英文名字和姓氏列表生成全名列表:
names = """
Walter
Dave
Albert""".split()
fullnames = [(first + last) for first,last in names]
print(fullnames)
为了这篇文章,我把 names
缩小了,但我包含了 100 个名字。
输出:
Traceback (most recent call last):
File "/home/pussyslayer42069/Desktop/py/names.py",line 105,in <module>
fullnames = [(first + last) for first,last in names]
File "/home/pussyslayer42069/Desktop/py/names.py",in <listcomp>
fullnames = [(first + last) for first,last in names]
ValueError: too many values to unpack (expected 2)
解决方法
使用 zip
并迭代列表的两个切片
[(f,l) for f,l in zip(names[:-1],names[1:]]
如果我找到了你,这是解决方案;
names = """
Walter
Dave
Albert""".split()
fullnames = [(names[i] + ' ' + names[i + 1]) for i in range(len(names) - 1)]
print(fullnames)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。