当前位置:  开发笔记 > 编程语言 > 正文

将字典转换为元组列表

如何解决《将字典转换为元组列表》经验,为你挑选了1个好方法。

鉴于这样的字典:

dic = {(7, 3): 18.51, (1, 3): 18.751, (5, 6): 34.917, (9, 8): 18.9738}

我想将它转换为这样的元组列表:

my_list = [(7, 3, 18.51), (1, 3, 18.751), (5, 6, 34.917), (9, 8, 18.9738)]

我本可以使用一个循环,但我想知道是否有一个简洁的方法来代替循环.



1> Willem Van O..:

只需list(..)在某些发电机上使用:

my_list = list(key+(val,) for key,val in dic.items())

这有效:

list(..)将迭代作为输入并将其转换为列表; 和

key+(val,) for key,val dic.items()是发电机,需要一个双键值的dic并将其转换为一个元组追加valkey.

由于我们使用生成器作为列表,我们可以使用列表理解来简化它:

my_list = [key+(val,) for key,val in dic.items()]

最后请注意,元组出现的顺序并不固定,这是因为dict存储元素的顺序也不固定.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有