Q
基于值提取字典对
0
A
回答
2
您可以使用.items()
通过对穿越和作出这样的改变:
smaller_things = {}
for k, v in things.items():
if v == 3:
smaller_things[k] = v
如果你想要一个班轮,只需要把钥匙拿回来,列表理解就可以做到:
smaller_things = [k for k, v in things.items() if v == 3]
>>> things = { 'a': 3, 'b': 2, 'c': 3 }
>>> [k for k, v in things.items() if v == 3]
['a', 'c']
0
这个答案是根据我对你的问题的理解。 字典是一种散列表,字典的主要内容是提供对这些值的非整数索引。字典中的键就像索引一样。
假设考虑“数组”,数组中的元素由索引寻址,并且我们有索引而不是索引元素。就像那样,我们有字典中的值的键(非整数索引)。
还有一个含义是字典中的值是不可散列的我的意思是字典中的值是可变的,字典中的键是不可变的,只要值可以随时更改。
根本就不是好方法,通过在字典中使用的值,以解决任何事情
+0
有效的点,但我正在计划值的变化。最终,我将使用实时数据可视化,所以这些值将为可视化的动画“流”做出贡献。但是,当您使用字典时,您还要重视最佳做法。 –
-1
你可以扭转字典和那拉:
keys_values = { 1:"a", 2:"b"}
values_keys = dict(zip(keys_values.values(), keys_values.keys()))
print values_keys
>>> {"a":1, "b":2}
这样,你可以做任何你需要使用标准字典语法。
潜在的缺点是,如果您在原始字典中有非唯一值;原来具有相同值的项目在反向字典中将具有相同的密钥,因此您无法保证哪些原始密钥是新值。可能有些值不可用(如列表)。
除非你有一个强迫性的需要是聪明的,迭代的项目更容易:
for key, val in my_dict.items():
if matches_condition(val):
do_something(key)
相关问题
- 1. 基于值的字典排序并提取相应的键
- 2. 从字典中提取值
- 3. 基于字典取代文字
- 4. 与基于字典
- 5. 基于键和值的字典交集
- 6. 追加值字典基于键
- 7. 基于值打印字典键
- 8. 拆分字典基于价值
- 9. 的Python:基于字典逻辑comparater值
- 10. 基于值Python合并字典
- 11. 整合基于重复字典值
- 12. 基于item.key获取字典项索引
- 13. 字典排序基于较低的字典值
- 14. 基于嵌套字典值排序Python字典
- 15. Python的字典排序基于两个值的字典
- 16. 基于Python中的字典值对列表进行排序?
- 17. 检索字典键的有序阵列基于对象的值
- 18. 使用Python获取基于多个字典对象的最大值
- 19. 提取从字典
- 20. 循环字典以提取2个值
- 21. 从字典列表中提取值
- 22. 字典帮助!提取值,使表
- 23. 提取物:Python字典,有多个值
- 24. 从字典中提取重复值
- 25. 从字典中提取属性值
- 26. Django从字典响应提取值
- 27. 从Python中的字典中提取值
- 28. Python:遍历字典列表并将值提取到新字典
- 29. 迭代字典并从内部字典中提取值
- 30. 如何基于从字典
+1使用'thing.iteritems()'如果蟒蛇2.x的 – wim
正是我一直在寻找换我新的python和认识除了最后一行之外的一切,你能解释它是如何工作的吗? –
@wim我正在运行2.7,两者都以同样的方式工作,所以它似乎。你是否对此有任何疑问? –