如何遍历循环内的列表

时间:2015-12-10 00:03:37

标签: python python-3.x

所以我有两个列表,一个标题列表和一个客户列表

  • 标题列表包含First NamePhone 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]获取第一个然后第二个等?

2 个答案:

答案 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)