Python中OrderedDict()的iteritems()有什么问题?
这是我的有序字典(OrderedDict):
>>> dic = OrderedDict([('16-17,1,5,BUY,BUY,-6,9', 10), ('19-20,1,1,BUY,BUY,-1,1',1)])
>>> dic
OrderedDict([('16-17,1,5,BUY,BUY,-6,9', 10), ('19-20,1,1,BUY,BUY,-1,1', 11)])
>>> for k,v in dic.iteritems():
... print k
... k1 = k.split(',')
... print k1
... print "value",v
... print k1.append(v)
...
16-17,1,5,BUY,BUY,-6,9
['16-17', '1', '5', 'BUY', 'BUY', '-6', '9']
value 10
None
19-20,1,1,BUY,BUY,-1,1
['19-20', '1', '1', 'BUY', 'BUY', '-1', '1']
value 11
None
为什么它会打印出“None”?
2 个回答
7
因为 append
这个方法不返回任何东西。
print
会显示 k1.append(v)
的返回值,但 k1.append(v)
其实没有返回值。
2
这不是OrderedDict
的问题。
append
这个方法会返回None
,但它会直接修改原来的列表。所以你可以把那一行替换成
k1.append(v)
print k1