l = [{"Task": "true", "People": "John"}, {'name': '123'}]
for item in l:
x = item
x['z'] = x.pop('name')
print(x)
请问如果我想要达到如果该字典中没有name值则continue,如果有则替换key值为z,该怎么写?
就是if ( ):
continue
括号里的写法查不到类似的,恳请赐教
字典取值还有一个get(key)方法,如果key存在则返回value,不存在则放回None,写成代码的话可以这样子写
l = [{"Task": "true", "People": "John"}, {'name': '123'}]
for i in l:
if i.get('name'):
# 不存在就下一次循环
coutinue
# 存在则先pop移出name和其所对应的值,并返回给n
n = i.pop('name')
i['z'] = n
l = [{"Task": "true", "People": "John"}, {'name': '123'}]
res = []
for item in l:
x = item
if not 'name' in x:
res.append(x)
continue
x['z'] = x['name']
del x['name']
res.append(x)
print(res)
2种办法:
1.if 'z' in x.keys()
2.if x.has_key('z')
l = [{"Task": "true", "People": "John"}, {'name': '123'}]
for d in l:
if "name" in d.keys():
d["z"] = d["name"]
d.pop("name")