Python double for函数

2024-09-30 01:35:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我构建这个Python代码的目的是将每个名字与姓氏相匹配:

first_names = ['Jane','Sam','Deborah']
last_names = ['Simmons','Kaybone','Stone']

for f_name in first_names:
    for l_name in last_names:
        print(f_name.title() + " " + l_name.title())

但是很明显,我的代码会打印出所有的名字和姓,而不仅仅是(1,1)、(2,2)、(3,3)。如何调整此代码?谢谢!你知道吗


Tags: 代码namein目的fornamestitlesam
2条回答

您正在寻找^{}

first_names = ['Jane','Sam','Deborah']
last_names = ['Simmons','Kaybone','Stone']
for f, l in zip(first_names, last_names):
    print(f.title(),l.title())

输出:

Jane Simmons
Sam Kaybone
Deborah Stone

一行:

print(*(f'{f.title()} {l.title()}' for f, l in zip(first_names, last_names)),sep='\n')

编辑: 正如Peter Wood正确指出的:

print(*(f'{f} {l}'.title() for f, l in zip(first_names, last_names)),sep='\n')

你想要的是zip()

first_names = ['Jane','Sam','Deborah']
last_names = ['Simmons','Kaybone','Stone']

for f_name, l_name in zip(first_names, last_names):
  print(f_name + " " + l_name)

相关问题 更多 >

    热门问题