python – 列出dict中tuple键的所有值

python – 列出dict中tuple键的所有值,第1张

概述假设我有一个以元组为键的字典,如下所示: d1 = {}d1[(111,1)] = "value1111"d1[(111,2)] = "value1112"d1[(111,3)] = "value1113"d1[(112,1)] = "value1121"d1[(112,2)] = "value1122"d1[(112,3)] = "value1123" 如何在元组键的第一个元素中获取 假设我有一个以元组为键的字典,如下所示:

d1 = {}d1[(111,1)] = "value1111"d1[(111,2)] = "value1112"d1[(111,3)] = "value1113"d1[(112,1)] = "value1121"d1[(112,2)] = "value1122"d1[(112,3)] = "value1123"

如何在元组键的第一个元素中获取给定数字的所有值?也就是说,对于111,我想获得以下内容:

value1111value1112value1113

我试过print(d1 [(111,i)])但它只返回一个值,有一个简单的方法吗?

提前致谢.

解决方法 使用列表理解,这样:

[v for k,v in d1.items() if k[0]==111]

如果k [0] == 111则表示仅返回其键的第一个元素为111的d1的值

您还尝试使用print(d1 [(111,i)],如果您可以控制键元组的第二个元素的范围和类型,那么它将起作用,即:

>>> [d1[(111,i)] for i in range(1,4)]['value1111','value1112','value1113']

在你的例子中,我们知道i只能从1到3,因此范围(1,4),但如果你不知道i的范围是什么,甚至我的类型是什么,那么列表理解是你最好的朋友.

当然,通过这样做,可以得到第一个元素为111的键元组的第二个元素列表:

>>>my_filter = [k[1] for k in d1 if k[0]==111][2,3,1]>>>my_List = [d1[(111,i) for i in my_filter]['value1112','value1113','value1111']
总结

以上是内存溢出为你收集整理的python – 列出dict中tuple键的所有值全部内容,希望文章能够帮你解决python – 列出dict中tuple键的所有值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存