这是我的名单
z=[OrderedDict([('name', 'abc'), ('lastname', 'lastname.'), ('address', 'Mumbai'), ('cell', '21******')]), OrderedDict([('name', 'abc'), ('lastname', 'lastname.'), ('address', 'Mumbai'), ('cell', '21******')]), OrderedDict([('name', 'xyz'), ('lastname', 'lastnamexyz.'), ('address', 'Heaven'), ('cell', '2156******')])]
我想换这本字典的钥匙
我正在努力
^{pr2}$此代码将tmp lst打印为[None, None, None]
但当我试着跟随,得到了正确的结果。在
>>> for i in z:
newo=OrderedDict()
newo.update(Name=i.get('name'),Lastname=i.get('lastname'))
temp_lst.append(newo)
>>> temp_lst
[OrderedDict([('Lastname', 'lastname.'), ('Name', 'abc')]), OrderedDict([('Lastname', 'lastname.'), ('Name', 'abc')]), OrderedDict([('Lastname', 'lastnamexyz.'), ('Name', 'xyz')])]
这两个代码看起来是一样的,那么为什么我在第一种情况下得到{
因为更新()不返回任何内容(因此您什么也得不到)。在
这里
实际上,您将返回值
newo.update
添加到列表中,正好是None
。在第一个示例中,首先更新dict,然后将dict本身附加到temp_lst
。这就不同了^{} 始终返回
None
,因此在第一个示例中,您附加了None
三次,而在第二个示例中,您将dict对象追加三次。在相关问题 更多 >
编程相关推荐