gpt4 book ai didi

python - 如何将字典附加到循环中的列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:12:31 25 4
gpt4 key购买 nike

我有大量数据以元组列表的形式供我使用。每个元组都有指定的格式,如 (a, b, c, d, e)。元组列表如下所示:

tupleList = [('a1', 'b1', 'c1', 'd1', 'e1'),
('a2', 'b2', 'c2', 'd2', 'e2'),
...
('a10000', 'b10000', 'c10000', 'd10000', 'e100000')]

我想要的是,将这些元组中的每一个转换为字典,并将字典附加到最终的字典列表中。所有这些都可以在一个循环中完成吗?最终的词典列表应如下所示:

finalDictList = [{'key1': 'a1', 'key2': 'b1', 'key3': 'c1', 'key4': 'd1', 'key5': 'e1'},
{'key1': 'a2', 'key2': 'b2', 'key3': 'c2', 'key4': 'd2', 'key5': 'e2'},
{'key1': 'a3', 'key2': 'b3', 'key3': 'c3', 'key4': 'd3', 'key5': 'e3'},
...
{'key1': 'a10000', 'key2': 'b10000', 'key3': 'c10000', 'key4': 'd10000', 'key5': 'e10000'}]

元组的格式是固定的。我想比较后记,字典的每个键的值与所有其他键的值。这就是为什么元组到字典的转换对我来说有意义。如果设计范式本身似乎有误,请纠正我。此外,还有 >10000 个元组。宣布许多词典还没有完成。

有没有办法在循环中将字典附加到列表中?另外,如果可能的话,我们是否可以通过它的键值访问每个字典,比如 finalDictList[0]['key1']

最佳答案

我们将混合使用三个重要的概念,使这段代码真正小巧而美观。首先,一个 list comprehension ,那么 zip方法,最后是 dict方法,从元组列表中构建字典:

my_list = [('a1', 'b1', 'c1', 'd1', 'e1'), ('a2', 'b2', 'c2', 'd2', 'e2')]
keys = ('key1', 'key2', 'key3', 'key4', 'key5')
final = [dict(zip(keys, elems)) for elems in my_list]

之后,final变量的值为:

>>> final
[{'key3': 'c1', 'key2': 'b1', 'key1': 'a1', 'key5': 'e1', 'key4': 'd1'},
{'key3': 'c2', 'key2': 'b2', 'key1': 'a2', 'key5': 'e2', 'key4': 'd2'}]

此外,您还可以使用字典在列表中的位置和您要查找的键来获取某个字典的元素,即:

>>> final[0]['key1']
'a1'

关于python - 如何将字典附加到循环中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com