Python 将项从另一个词典追加到词典
我试图根据每个键的值将值从一个字典移动到另一个字典,下面是代码:Python 将项从另一个词典追加到词典,python,dictionary,Python,Dictionary,我试图根据每个键的值将值从一个字典移动到另一个字典,下面是代码: dict = {'a':1,'b':2,'c':0,'d':0,'e':0} dict2 = {} for c in dict: if dict.values() > 1: dict2.update(c) 我被告知错误: TypeError: unorderable types: dict_values() > int() 有什么想法吗 谢谢。这里的问题是dict.values()返回一
dict = {'a':1,'b':2,'c':0,'d':0,'e':0}
dict2 = {}
for c in dict:
if dict.values() > 1:
dict2.update(c)
我被告知错误:
TypeError: unorderable types: dict_values() > int()
有什么想法吗
谢谢。这里的问题是
dict.values()
返回一个iterable,您不能将其与int进行比较。相反,请遍历字典,将每个项的值与一个数字进行比较。如果符合您的条件,则在新字典中设置键/值对
dict = {'a':1,'b':2,'c':0,'d':0,'e':0}
dict2 = {}
for key, value in dict.iteritems(): #use .items() if you use Python 3
if value > 1:
dict2[key]= value
dict.iteritems()
(对于Python3使用dict.items()
)将以iterables的形式返回键和值。
dict[key]=value
将使用设置的键将值添加到字典中
另外,dict
在默认情况下在Python中意味着一些东西,因此将其用作变量名不是一个好主意。与某些语言不同,它允许您将其作为变量名使用,但会阻止您调用dict类。mydict.values()
引用整个列表(在python2.x中)和python3.x中的iterable,在您的情况下:
[1, 2, 0, 0, 0] # in python2.x
因此,询问列表或iterable是否大于1毫无意义
您想要的是:
for k, v in mydict.items():
if v > 1:
mydict2[k] = v
使用dict作为dict类型对象的名称不是一个好主意。冲突。
使用列表作为列表对象等的名称也是如此。尝试以下方法:
for k,v in dict.items():
if v>1:
dict2[k]=v
dict.values()
是dict
值的一个iterate。当然,您不能将其与int
进行比较。你想干什么?您想要什么样的dict2
?非常感谢,我没有意识到默认情况下使用了dict(第一次使用字典,后来使用了:)