你好,我有一个带有这些值的词典
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%的值?我怎样才能做到这一点?
谢谢
答案 0 :(得分: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%且大于等于x
的5%进行分组,您可以执行以下操作:
>>> 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
是一个新的字典,其中包含来自D
的所有键值,其值为&lt; 5%和d2
&gt; =给定x
的5%。