你认为哪种编码风格更好,更易读?运行
选项2:
选项三:
foo
函数时需要两个字典中的项,但是mydict2
可以为空。
选项1:
for a,b in mydict1.items():
foo(a,b)
if mydict2:
for a,b in mydict2.items():
foo(a,b)
选项2:
for a,b in mydict1.items():
foo(a,b)
for a,b in mydict2.items() if mydict2 else dict().items():
foo(a,b)
选项三:
for a,b in chain(mydict1.items(), mydict2.items() if mydict2 else dict().items()):
foo(a,b)
mydict2.items()
是空的,那么遍历它就什么也做不了吗?三元表达式完全是多余的。 - jonrsharpeNone
。尝试迭代None
会抛出错误。 - Samif mydict2 is not None
- jonrsharpe