在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)

Zip是python中将两个列表组合在一起的方法。因此,作为一个函数,

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

假设两个列表具有相同的长度,您可以遍历它并在两个列表上使用相应的索引:

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

最新更新