你好,我有一个带有这些值的字典
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 ]
我想从小于 5% 的 dic 中删除值?我怎样才能做到这一点?
谢谢
你可以执行以下操作:
>>> 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
是一个包含所有键的新字典,来自 D
的值,其中值为 <5%,d2
为>= 给定x
的 5%。