Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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-将2个列表压缩到1个字典中_Python_Python 2.7_List_Dictionary - Fatal编程技术网

Python-将2个列表压缩到1个字典中

Python-将2个列表压缩到1个字典中,python,python-2.7,list,dictionary,Python,Python 2.7,List,Dictionary,我正在用Python制作一些纸条,还有一个小问题 我有两份清单: [‘姓名’、‘年龄’、‘性别’、‘地址’、‘城市’] ['Jack 24男23号纽约','Jane 25女24号纽约','Dane 14男14号纽约'] 所以我想要: dictofJack = {'name': 'Jack', 'age': '24', 'sex': 'male', 'addr': 'no23', 'city':'NY'} dictofJane = {'name': 'Jane', 'age': '25', 's

我正在用Python制作一些纸条,还有一个小问题

我有两份清单:

  • [‘姓名’、‘年龄’、‘性别’、‘地址’、‘城市’]

  • ['Jack 24男23号纽约','Jane 25女24号纽约','Dane 14男14号纽约']

  • 所以我想要:

    dictofJack = {'name': 'Jack', 'age': '24', 'sex': 'male', 'addr': 'no23', 'city':'NY'}
    
    dictofJane = {'name': 'Jane', 'age': '25', 'sex': 'female', 'addr': 'no24', 'city':'NY'}
    
    dictofDane = {'name': 'Dane', 'age': '14', 'sex': 'male', 'addr': 'no14', 'city':'NY'}
    
    在这种情况下,如何使用zip使其在for循环中自动获取词典?

    使用或:

    顺便说一句,我建议使用字典的字典(想想需要100个字典的情况),而不是使用字典的多个变量,使用:

    使用或:

    顺便说一句,我建议使用字典的字典(想想需要100个字典的情况),而不是使用字典的多个变量,使用:


    可能重复的您想要一个字典列表吗?可能重复的您想要一个字典列表吗?如果两个人同名,情况如何?我有这样的情况:header=['name','age','sex','addr','city']value=['Jack 24 male No 23 NY','Jane 25 male No 24 NY','Jane 14 male No 14 NY']打印{value.split()[0]:dict(zip(header,value.split()))表示值中的值}它将这样打印:{'Jane':{'addr':'No 14','age':'14','city':'NY','name':'Jane','sex':'male','Jack:{'addr':'no23','age':'24','city':'NY','name':'Jack','sex':'male'}那么我们如何解决这个问题呢?@ThắngPhạmNgọc、 如何使用字典列表:
    [dict(zip(header,value.split()))作为值中的值:
    ]`?它将返回一个多字典列表,如下所示:[{'addr':'no23','age':'24','city':'NY','name':'Jack','sex':'male'},{'addr':'no24','age':'25','city':'NY','name':'Jane','sex':'female'},{'addr':'no14','age':'14','city':'NY','name':'Jane','sex':'male'}]这很有效,现在我将尝试将该列表拆分为多个dict。谢谢。如果两个人同名,情况如何?我有以下情况:header=['name','age','sex','addr','city']值=['Jack 24 male No 23 NY','Jane 25 male No 24 NY','Jane 14 male No 14 NY']打印{value.split()[0]:dict(zip(header,value.split()))表示值中的值}它将这样打印:{'Jane':{'addr':'No 14','age':'14','city':'NY','name':'Jane','sex':'male','Jack:{'addr':'no23','age':'24','city':'NY','name':'Jack','sex':'male'}那么我们如何解决这个问题呢?@ThắngPhạmNgọc、 如何使用字典列表:
    [dict(zip(header,value.split()))作为值中的值:
    ]`?它将返回一个多字典列表,如下所示:[{'addr':'no23','age':'24','city':'NY','name':'Jack','sex':'male'},{'addr':'no24','age':'25','city':'NY','name':'Jane','sex':'female'},{'addr':'no14','age':'14','city':'NY','name':'Jane','sex':'male'}]这很有效,现在我将尝试将该列表拆分为多个目录。谢谢。
    >>> header = ['name', 'age', 'sex', 'addr', 'city']
    >>> values = ['Jack   24   male   no23   NY',
                  'Jane   25   female   no24   NY',
                  'Dane   14   male   no14   NY']
    >>> dictofJack, dictofJane, dictofDane = (
            dict(zip(header, value.split())) for value in values
        )
    >>> dictofJack
    {'addr': 'no23', 'age': '24', 'city': 'NY', 'name': 'Jack', 'sex': 'male'}
    >>> dictofJane
    {'addr': 'no24', 'age': '25', 'city':'NY', 'name': 'Jane', 'sex': 'female'}
    >>> dictofDane
    {'addr': 'no14', 'age': '14', 'city': 'NY', 'name': 'Dane', 'sex': 'male'}
    
    >>> {value.split()[0]: dict(zip(header, value.split())) for value in values}
    {'Jane': {'addr': 'no24', 'age': '25', 'city': 'NY', 'name': 'Jane', 'sex': 'female'},
     'Dane': {'addr': 'no14', 'age': '14', 'city': 'NY', 'name': 'Dane', 'sex': 'male'},
     'Jack': {'addr': 'no23', 'age': '24', 'city': 'NY', 'name': 'Jack', 'sex': 'male'}}