0

这是一个简单的代码,旨在使用英语名字和姓氏列表生成全名列表:

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", line 105, in <listcomp>
    fullnames = [(first + last) for first, last in names]
ValueError: too many values to unpack (expected 2)
4

2 回答 2

0

使用zip和迭代列表的两个切片

[(f, l) for f, l in zip(names[:-1], names[1:]]

于 2021-03-28T02:42:52.533 回答
0

如果我得到你,这是解决方案;

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


fullnames = [(names[i] + ' ' + names[i + 1]) for i in range(len(names) - 1)]
print(fullnames)
于 2021-03-28T02:47:04.290 回答