在 Python 3.4.3 中将两个字符串列表组合在一起一次

Combining two lists of strings together once in Python 3.4.3

我正在尝试合并姓氏和名字的列表,但没有成功。目前我的代码是这样的:

firstname=['Tom','Dick','Steve']
surname=['Johnson','Smith','Doe']
for f in (firstname):
    for s in (surname):
        print(f,s)

这给了我这样的东西:

Tom Johnson
Tom Smith
Tom Doe
Dick Johnson

等等,当我真正想要的时候:

Tom Johnson
Dick Smith
Steve Doe

非常感谢像我这样的初学者。

for name, surname in zip(firstname, surname):
   print(name, surname)

假设两个列表的长度相同,您可以对其进行迭代并在两者上使用相应的索引:

for i in range(len(firstname)):
    print (firstname[i], surname[i])
firstname=['Tom','Dick','Steve']
surname=['Johnson','Smith','Doe']
i = 0
while i<min(len(firstname), len(surname)):
    print (firstname[i], surname[j])
    i += 1

Zip 是在 python 中将两个列表组合在一起的方式。所以,作为一个函数,

def combine_names(first, last):
    comb = zip(first, last)
    for f,l in comb:
        print f,l