簡體   English   中英

Python3 ValueError - 迭代列表時解包的值太多

[英]Python3 ValueError - Too many values to unpack while iterating over a list

這是一個簡單的代碼,旨在使用英語名字和姓氏列表生成全名列表:

names = """
Walter
Dave
Albert""".split()

fullnames = [(first + last) for first, last in names]
print(fullnames)

為了這篇文章,我把names變小了,但我包括了 100 個名字。

output:

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", line 105, 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM