2013-04-04 108 views
-3

可以說我有這樣的詞典:如何刪除Python中的字典中的所有0?

{'1': 2, '0': 0, '3': 4, '2': 4, '5': 1, '4': 1, '7': 0, '6': 0, '9': 0, '8': 0} 

我想刪除所有項目爲零

這樣一個值,它出來像這樣

{'1': 2, '3': 4, '2': 4, '5': 1, '4': 1} 
+0

編寫一些代碼。爲什麼我低估了這個問題:http://meta.stackexchange.com/a/149138/133242而你爲什麼使用字典而不是列表? – 2013-04-04 22:00:49

+1

關閉表弟,如果不是確切的重複:[從Python列表中刪除所有值的出現](http://stackoverflow.com/questions/1157106/remove-all-oco- oce-of-a-value-from-a- python-list) – 2013-04-04 22:00:53

+0

@MattBall我正在學習字典而不是列表 – Jett 2013-04-04 22:03:32

回答

3

使用的字典-comprehension:

In [94]: dic={'1': 2, '0': 0, '3': 4, '2': 4, '5': 1, '4': 1, '7': 0, '6': 0, '9': 0, '8': 0} 

In [95]: {x:y for x,y in dic.items() if y!=0} 
Out[95]: {'1': 2, '2': 4, '3': 4, '4': 1, '5': 1} 
2

使用詞典理解:

{k: v for k, v in d.items() if v} 
+1

這將刪除'False','[]','None'等值。 – 2013-04-04 22:03:17

+1

@AshwiniChaudhary:是的。 – Blender 2013-04-04 22:04:40

相關問題