我试图只在我的列表中添加值为> = n的键,但是我无法给键提供参数。
n = 2
dict = {'a': 1, 'b': 2, 'c': 3}
for i in dict:
if dict[i] >= n:
list(dict.keys([i])
当我尝试这个时,它告诉我,我不能给.keys()一个参数。但是如果我删除了参数,则无论值是什么,都会添加所有键
任何帮助?
答案 0 :(得分:2)
您不需要调用.keys()
dict
方法,因为您已经使用for循环迭代data_dict
的密钥。
n = 2
data_dict = {'a': 1, 'b': 2, 'c': 3}
lst = []
for i in data_dict:
if data_dict[i] >= n:
lst.append(i)
print lst
结果:
['c', 'b']
您也可以使用list comprehension
来实现这一目标result = [k for k, v in data_dict.iteritems() if v >= 2]
print result
您应该阅读:Iterating over Dictionaries。
答案 1 :(得分:0)