加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何将字典追加到循环中的列表

发布时间:2020-12-20 13:04:35 所属栏目:Python 来源:网络整理
导读:我以一系列元组的形式处理大量数据.每个元组都有一个指定的格式,如(a,b,c,d,e).元组列表如下所示: tupleList = [('a1','b1','c1','d1','e1'),('a2','b2','c2','d2','e2'),... ('a10000','b10000','c10000','d10000','e100000')] 我想要的是,将每个元组转换
我以一系列元组的形式处理大量数据.每个元组都有一个指定的格式,如(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','e2')]
keys = ('key1','key2','key3','key4','key5')
final = [dict(zip(keys,elems)) for elems in my_list]

之后,最终变量的值为:

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读