Python 3.4.3版
给定词典列表:
dlist = [{'Bilbo':'Ian','Frodo':'Elijah'},{'Bilbo':'Martin','Thorin':'Richard'}]
和一个变量k
k = 'Frodo'
任务是从字典中写一个表达式到一个签名列表,其中键不存在必须显示为“notpresent”,所有问题必须在一行中解决。你知道吗
我写了一行字,给出了理想的结果:
for kk in dlist : kk[k] if k in kk else 'NOT PRESENT'
输出:
'Elijah'
'NOT PRESENT'
但问题是我不能将这个输出赋给变量
res = list(for kk in dlist : kk[k] if k in kk else 'NOT PRESENT')
或者
res = [for kk in dlist : kk[k] if k in kk else 'NOT PRESENT']
编辑: 此外,如果所有字典都有所需的键,这将提供正确的赋值
res = [x[k] for x in dlist]
但我不能结合 dictionary[key]如果dictionary中的“key”
在dictionarylist中使用for kk
之后阿宾塞回答了这个问题,并给了我一些启示:我已经解决了它没有
output = [item[k] if k in item else 'NOT PRESENT' for item in dlist]
我的主要问题是else语句的正确位置。你知道吗
相关问题 更多 >
编程相关推荐