2014-03-05 90 views
-1

刪除DIC值你好,我有這些值Python的按百分比

D= { 
'a':1000000, 
'b':3500, 
'c':7000, 
'd':867900 
'ted':10, 
'tz':3455, 
'tx':7000} 

print dict(
    [(k,v) for k,v in d.items() if v<=x ] 

的字典,我想從DIC小於5%去除值?我怎樣才能做到這一點?

感謝

+2

請多解釋一下自己。你的意思是5%?你在談論字典中的數字嗎? – ederollora

+0

'd'值 –

+0

後面缺少一個逗號。 。 。什麼的5%? D.values()'的最大值? – mshsayem

回答

0

你可以這樣做:

>>> x # any x value 
1000 
>>> { k: D[k] for k in D if D[k] > (.95 * x)} 
{'a': 1000000, 'c': 7000, 'b': 3500, 'tz': 3455, 'd': 867900, 'tx': 7000} 
>>> 

只考慮值X多於5%

它的工作原理爲:

>>> D 
{'a': 98, 'c': 1, 'b': 94, 'd': 9} 
>>> x 
100 
>>> { k: D[k] for k in D if D[k] > (.95 * x)} 
{'a': 98} 
>>> 

編輯:組小於5%和大於等於5%的x您可以執行如下操作:

>>> x 
100 
>>> D 
{'a': 98, 'c': 1, 'b': 94, 'e': 99, 'd': 9, 'f': 100} 
>>> d1, d2 = {}, {} 
>>> for k in D: 
... d = d1 if D[k] < (.95 * x) else d2 
... d[k] = D[k] 
... 
>>> d1 
{'c': 1, 'b': 94, 'd': 9} 
>>> d2 
{'a': 98, 'e': 99, 'f': 100} 
>>> 

d1與所有鍵的新字典,其中值是< 5%和d2與給定的x> = 5%從D值。

+0

是否有任何方法將小於x的5%的值分組並將它們與字典中的其餘值一起打印? – user3240059

+0

@ user3240059是的可能我添加了一個例子來創建從給定D. –