我不确定为什么我会因为这种理解而出现语法错误
[mydict[k] for mydict in dlist if k in mydict else 'NOT PRESENT']
该错误非常通用“语法错误 - 无效语法”
一个更简化的语句似乎工作正常
[mydict[k] for mydict in dlist]
有人可以告诉我是什么导致了问题吗?
提前致谢
我不确定为什么我会因为这种理解而出现语法错误
[mydict[k] for mydict in dlist if k in mydict else 'NOT PRESENT']
该错误非常通用“语法错误 - 无效语法”
一个更简化的语句似乎工作正常
[mydict[k] for mydict in dlist]
有人可以告诉我是什么导致了问题吗?
提前致谢
if/else 和 for 需要交换:
[mydict[k] if k in mydict else 'NOT PRESENT' for mydict in dlist]
您可以使用以下方法缩短此时间get(k[,d])
:
[mydict.get(k, 'NOT PRESENT') for mydict in dlist]
列表推导的if
片段不是三元表达式的一部分。
[mydict[k] if k in mydict else 'NOT PRESENT' for mydict in dlist]