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,兩者都以同樣的方式工作,所以它似乎。你是否對此有任何疑問? –