Python中文
首页
教程
问答
标签
搜索
登录
注册
识别包含特定键值对的词典的“名称”的最快方法是什么?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想在下面的列表中标识包含键值对“Keya”的字典:“123a”,在本例中是ID1。你知道吗</p> <pre><code>lst = {ID1:{'Keya':'123a','Keyb':456,'Keyc':789},ID2:{'Keya':'132a','Keyb':654,'Keyc':987},ID3:{'Keya':'5433a','Keyb':222,'Keyc':333},ID4:{'Keya':'444a','Keyb':777,'Keyc':666}} </code></pre> <p>可以安全地假设所有字典都有相同的键,但值不同。你知道吗</p> <p>目前,我有以下方法来确定哪个字典的键“Keya”的值为“123a”,但是有没有一种更短更快的方法?你知道吗</p> <pre><code> DictionaryNames = map(lambda Dict: str(Dict),lst) Dictionaries = [i[1] for i in lst.items()] Dictionaries = map(lambda Dict: str(Dict),Dictionaries) Dict = filter(lambda item:'123a' in item,Dictionaries) val = DictionaryNames[Dictionaries.index(Dict[0])] return val </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>既然你想要最快的速度,你应该缩短你的搜索,一旦你找到你要找的数据。不需要遍历整个列表,也不需要生成任何临时字典:</p> <pre><code>for key,data in lst.iteritems(): if data['Keya']=='132a': return key #or break is not in a function </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何用强化学习更新函数逼近中的权重?
1 回答
如何用归并排序计算倒数?
9 回答
如何用当前数据拟合正弦波?
9 回答
如何用当前页面的值填充表单?
10 回答
如何用彩色地图在2dpython直方图中勾勒出箱子的轮廓?
9 回答
如何用彩色地图给等高线标签上色?
9 回答
如何用彩色打印到控制台?
1 回答
如何用彩色条绘制2d直方图,在Python中显示第三个变量的平均值?
3 回答
如何用彩色条绘制直方图,其中的颜色应与xaxis中的值一致?
3 回答
如何用彩色贴图填充曲线和原始边之间的区域?
10 回答
如何用循环分割数组并对其应用操作?
5 回答
如何用循环创建多个子集的数据帧
10 回答
如何用循环和递归实现求和
2 回答
如何用循环填充数组?
10 回答
如何用循环当前引用的位置更新变量?
8 回答
如何用循环求这个级数的和
2 回答
如何用循环解这个方程?
7 回答
如何用循环语句逐个读取数据帧中的数据?
1 回答
如何用循环除法?(Python)
10 回答
如何用感知一致性对HSV空间进行采样
1 回答