python字典操作 get()方法 迭代有关问题
python字典操作 get()方法 迭代问题
各位Python大牛,我有一个问题问大家:
例如我有一段这样的代码:
运行这段程序会报错,错误为:
然后我把代码修改为:
就没有报错,但是,有时候用items()却会报错。
我想可能是我使用了t.get()吧,这里,get()返回的还是一个字典。
有点糊涂了。因为我有个程序的部分是这样的:
控制台确报错:
哪位大神给我解释一下啊!
------解决思路----------------------
某一个tsUserRating得到的是None,所以它没有items方法。
用mydict.get(key, {}),这样当key不在mydict中时,会返回{},而不是None。
------解决思路----------------------
字典是这样遍历的.
各位Python大牛,我有一个问题问大家:
例如我有一段这样的代码:
t={
'1':{
'1':4,
'2':3
},
'2':{
'1':2,
'2':4
},
'3':{
'1':3,
'2':2
},
'4':{
'1':3,
'2':4
}
}
ts=t.get('1')
for item,simitem in ts:
print item,simitem
运行这段程序会报错,错误为:
for item,simitem in ts:
ValueError: need more than 1 value to unpack
然后我把代码修改为:
ts=t.get('1')
for item,simitem in ts.items():
print item,simitem
就没有报错,但是,有时候用items()却会报错。
我想可能是我使用了t.get()吧,这里,get()返回的还是一个字典。
有点糊涂了。因为我有个程序的部分是这样的:
for itemid,simi_of_itemid in sortedSimilarityDict.items():
tsUserRating=testdata.get(itemid)
for userid,rates in tsUserRating.items():
itemSimiDic=sortedSimilarityDict.get(itemid)
for simiItem,rating in itemSimiDic.items():
控制台确报错:
for userid,rates in tsUserRating.items():#!!!tsUserRating is a tuple not a dictionary
AttributeError: 'NoneType' object has no attribute 'items'
哪位大神给我解释一下啊!
------解决思路----------------------
某一个tsUserRating得到的是None,所以它没有items方法。
用mydict.get(key, {}),这样当key不在mydict中时,会返回{},而不是None。
------解决思路----------------------
字典是这样遍历的.
#!/usr/bin/python
# -*- coding:utf-8 -*-
# execfile(r't20141226.py')
t={
'1':{
'1':4,
'2':3
},
'2':{
'1':2,
'2':4
},
'3':{
'1':3,
'2':2
},
'4':{
'1':3,
'2':4
}
}
ts=t.get('1')
for item in ts.keys():
print item,ts[item]