我有一份清单:
[
['104314', '104319'],
['N(1)40-35', 'N(1)40-5'],
['N(1)F-T15', 'N(1)I-TJS1/0']
]我需要做的是得到第一个项目,并使它成为一个关键的字典。除了第一项之外,我需要将它们与第一项的位置对齐,以便列出类似这样的字典,我真的不知道如何用Pythonic的方式这样做:
[
{'104314': ['N(1)40-35', 'N(1)F-T15']},
{'104319': ['N(1)40-5', 'N(1)I-TJS1/0']}
]发布于 2019-01-06 01:27:43
试着理解这个列表:
>>> mylist = [
... ['104314', '104319'],
... ['N(1)40-35', 'N(1)40-5'],
... ['N(1)F-T15', 'N(1)I-TJS1/0']
... ]
>>> [{k: v} for k, *v in zip(*mylist)]
[{'104314': ['N(1)40-35', 'N(1)F-T15']}, {'104319': ['N(1)40-5', 'N(1)I-TJS1/0']}]但是,使用单键分词是没有意义的,所以您可以尝试一下这个词的理解:
>>> {k: v for k, *v in zip(*mylist)}
{'104314': ['N(1)40-35', 'N(1)F-T15'], '104319': ['N(1)40-5', 'N(1)I-TJS1/0']}发布于 2019-01-06 01:48:14
对于Python 2,您可以这样做:
ml=[
['104314', '104319'],
['N(1)40-35', 'N(1)40-5'],
['N(1)F-T15', 'N(1)I-TJS1/0']
]关于一份词典的清单:
>>> [{t[0]:list(t[1:])} for t in zip(*ml)]
[{'104314': ['N(1)40-35', 'N(1)F-T15']}, {'104319': ['N(1)40-5', 'N(1)I-TJS1/0']}]对于单个dict (如果所有键都是唯一的):
>>> {t[0]:list(t[1:]) for t in zip(*ml)}
{'104319': ['N(1)40-5', 'N(1)I-TJS1/0'], '104314': ['N(1)40-35', 'N(1)F-T15']}https://stackoverflow.com/questions/54057853
复制相似问题