Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中迭代多个集合_Python_List - Fatal编程技术网

在python中迭代多个集合

在python中迭代多个集合,python,list,Python,List,因此,我一直有一个小麻烦,想出一个方法来做下面的事情 让我们从集合开始 Names = ['Brian', 'Tom', 'Mary'] LifeStats = [{'age':'25', 'gender':'male'},{'age':'27', 'gender':'male'},{'age':'35', 'gender':'female'}] Children = [[{'Name':'Mike', 'Age':'5'}, {'Name':'Lisa', 'Age':'9'},][{'Nam

因此,我一直有一个小麻烦,想出一个方法来做下面的事情

让我们从集合开始

Names = ['Brian', 'Tom', 'Mary']
LifeStats = [{'age':'25', 'gender':'male'},{'age':'27', 'gender':'male'},{'age':'35', 'gender':'female'}]
Children = [[{'Name':'Mike', 'Age':'5'}, {'Name':'Lisa', 'Age':'9'},][{'Name':'Paul':'Age':'5'}],[{'Name':'Pete', 'Age':'2'}{'Name':'Nicky', 'Age':'11'}{'Name':'Jerry', 'Age':'2'}]]
每个列表都源自对API的不同调用。所有的收藏品都捆绑在一起。每个集合的第一个列表值绑定在一起。但我似乎不知道如何以一种可以打印出这样内容的方式来迭代列表

Name:Brian
Age:25
Gender:Male
Children:  Mike, Lisa<br>
Name=Tom
Age:27
Gender:Male
Children:   Paul, Pete, Nicky
姓名:布莱恩
年龄:25
性别:男
孩子们:迈克、丽莎
Name=汤姆 年龄:27 性别:男 孩子们:保罗、皮特、尼基
我遇到的问题是迭代出子项,因为每个父项都有多个子项,因为这是一个字典列表,与两个不同的字典列表相关联


我是Python编码方面的新手,因此如果这是一个明显需要解决的问题,我深表歉意。因此,首先,您可以使用
zip
按元素对列表进行配对

>>> people = zip(Names,LifeStats,Children)
>>> people
[('Brian', {'gender': 'male', 'age': '25'}, [{'Age': '5', 'Name': 'Mike'}, {'Age': '9', 'Name': 'Lisa'}]),
 ('Tom', {'gender': 'male', 'age': '27'}, [{'Age': '5', 'Name': 'Paul'}]),
 ('Mary', {'gender': 'female', 'age': '35'}, [{'Age': '2', 'Name': 'Pete'}, {'Age': '11', 'Name': 'Nicky'}, {'Age': '2', 'Name': 'Jerry'}])]
然后迭代,解析内容,然后进行打印:

for person in people:
    # Grab relevant info from the lists and dictionaries
    name = person[0]
    age = person[1]['age']
    gender = person[1]['gender']
    children = [i['Name'] for i in person[2]]
    # Do your printing and formatting
    print('Name: {}'.format(name))
    print('Age: {}'.format(age))
    print('Gender: {}'.format(gender))
    print('Children: {}'.format(', '.join(children)))
    print('\n')
输出

姓名:布赖恩
年龄:25岁
性别:男性
孩子们:迈克,丽莎

姓名:汤姆
年龄:27岁
性别:男性
孩子们:保罗

姓名:玛丽
年龄:35岁
性别:女
孩子们:皮特、尼基、杰瑞


因此,首先,您可以使用
zip
按元素对列表进行配对

>>> people = zip(Names,LifeStats,Children)
>>> people
[('Brian', {'gender': 'male', 'age': '25'}, [{'Age': '5', 'Name': 'Mike'}, {'Age': '9', 'Name': 'Lisa'}]),
 ('Tom', {'gender': 'male', 'age': '27'}, [{'Age': '5', 'Name': 'Paul'}]),
 ('Mary', {'gender': 'female', 'age': '35'}, [{'Age': '2', 'Name': 'Pete'}, {'Age': '11', 'Name': 'Nicky'}, {'Age': '2', 'Name': 'Jerry'}])]
然后迭代,解析内容,然后进行打印:

for person in people:
    # Grab relevant info from the lists and dictionaries
    name = person[0]
    age = person[1]['age']
    gender = person[1]['gender']
    children = [i['Name'] for i in person[2]]
    # Do your printing and formatting
    print('Name: {}'.format(name))
    print('Age: {}'.format(age))
    print('Gender: {}'.format(gender))
    print('Children: {}'.format(', '.join(children)))
    print('\n')
输出

姓名:布赖恩
年龄:25岁
性别:男性
孩子们:迈克,丽莎

姓名:汤姆
年龄:27岁
性别:男性
孩子们:保罗

姓名:玛丽
年龄:35岁
性别:女
孩子们:皮特、尼基、杰瑞


因此,首先,您可以使用
zip
按元素对列表进行配对

>>> people = zip(Names,LifeStats,Children)
>>> people
[('Brian', {'gender': 'male', 'age': '25'}, [{'Age': '5', 'Name': 'Mike'}, {'Age': '9', 'Name': 'Lisa'}]),
 ('Tom', {'gender': 'male', 'age': '27'}, [{'Age': '5', 'Name': 'Paul'}]),
 ('Mary', {'gender': 'female', 'age': '35'}, [{'Age': '2', 'Name': 'Pete'}, {'Age': '11', 'Name': 'Nicky'}, {'Age': '2', 'Name': 'Jerry'}])]
然后迭代,解析内容,然后进行打印:

for person in people:
    # Grab relevant info from the lists and dictionaries
    name = person[0]
    age = person[1]['age']
    gender = person[1]['gender']
    children = [i['Name'] for i in person[2]]
    # Do your printing and formatting
    print('Name: {}'.format(name))
    print('Age: {}'.format(age))
    print('Gender: {}'.format(gender))
    print('Children: {}'.format(', '.join(children)))
    print('\n')
输出

姓名:布赖恩
年龄:25岁
性别:男性
孩子们:迈克,丽莎

姓名:汤姆
年龄:27岁
性别:男性
孩子们:保罗

姓名:玛丽
年龄:35岁
性别:女
孩子们:皮特、尼基、杰瑞


因此,首先,您可以使用
zip
按元素对列表进行配对

>>> people = zip(Names,LifeStats,Children)
>>> people
[('Brian', {'gender': 'male', 'age': '25'}, [{'Age': '5', 'Name': 'Mike'}, {'Age': '9', 'Name': 'Lisa'}]),
 ('Tom', {'gender': 'male', 'age': '27'}, [{'Age': '5', 'Name': 'Paul'}]),
 ('Mary', {'gender': 'female', 'age': '35'}, [{'Age': '2', 'Name': 'Pete'}, {'Age': '11', 'Name': 'Nicky'}, {'Age': '2', 'Name': 'Jerry'}])]
然后迭代,解析内容,然后进行打印:

for person in people:
    # Grab relevant info from the lists and dictionaries
    name = person[0]
    age = person[1]['age']
    gender = person[1]['gender']
    children = [i['Name'] for i in person[2]]
    # Do your printing and formatting
    print('Name: {}'.format(name))
    print('Age: {}'.format(age))
    print('Gender: {}'.format(gender))
    print('Children: {}'.format(', '.join(children)))
    print('\n')
输出

姓名:布赖恩
年龄:25岁
性别:男性
孩子们:迈克,丽莎

姓名:汤姆
年龄:27岁
性别:男性
孩子们:保罗

姓名:玛丽
年龄:35岁
性别:女
孩子们:皮特、尼基、杰瑞


@user1767754
,”。join(children)
部分会处理这个问题。在Python控制台上尝试它,列出一个子项和一个子项,谢谢你的帮助!你的建议帮助我找到了做我需要做的事情的最简单方法@user1767754
,”。join(children)
部分会处理这个问题。在Python控制台上尝试它,列出一个子项和一个子项,谢谢你的帮助!你的建议帮助我找到了做我需要做的事情的最简单方法@user1767754
,”。join(children)
部分会处理这个问题。在Python控制台上尝试它,列出一个子项和一个子项,谢谢你的帮助!你的建议帮助我找到了做我需要做的事情的最简单方法@user1767754
,”。join(children)
部分会处理这个问题。在Python控制台上尝试它,列出一个子项和一个子项,谢谢你的帮助!你的建议帮助我找到了做我需要做的事情的最简单方法!