所以我有两个列表,一个标题列表和一个客户列表:
标题列表包含First Name
或Phone Number
等标题。
客户列表包含特定客户的详细信息,例如其名字或电话号码。
我正在尝试一次打印每个列表的一个部分。
例如:
First Name: Joe
Phone Number: 911
现在我有一个循环可以接近我想要的东西
header_list = ['First Name: ',
'Last Name: ',
'Phone: ',
'City: ',
'State: ',
'Zip: ']
for elem in header_list:
print(elem)
for client in client_list[0]:
print (client)
break
这样可以输出
First Name: Joe
Last Name: Joe
Phone Number: Joe
这个循环的问题在于它正确地打印出所有标题但只打印了client_list[0]
中的第一个项目,如果我删除了它,那么它会打印出client_list[0]
中的所有内容。
如何通过列表循环client_list[0]
获取第一个然后第二个等?
答案 0 :(得分:9)
您可以使用zip
:
header_list = ['First Name: ', 'Last Name: ', 'Phone: ', 'City: ', 'State: ', 'Zip: ']
client_list = ['Joe', 'Somebody', '911']
for head, entry in zip(header_list, client_list):
print(head, entry)
输出:
First Name: Joe
Last Name: Somebody
Phone: 911
注意:较短的列表决定了您获得的迭代次数。
更长的客户名单:
header_list = ['First Name:', 'Last Name:', 'Phone:', 'City:', 'State:', 'Zip:']
client_list = ['Joe', 'Somebody', '911', 'Somewhere', 'AA', '012345']
for head, entry in zip(header_list, client_list):
print(head, entry)
打印:
First Name: Joe
Last Name: Somebody
Phone: 911
City: Somewhere
State: AA
Zip: 012345
旁注:无需在空格header
中填充字符串,print
会为您添加一个字符串。
答案 1 :(得分:1)
我认为client_list
是列表,然后呢?这样的事情会起作用吗?
header_list = ['name', 'number']
client_list = [['joe', '415'], ['lara', '123']]
for client in client_list:
for elem in zip(header_list, client):
print ":".join(elem)