问题描述
我只是想知道以下两种方法之间哪种更有效的编写python的方式(也可以改进吗?):
方法1:
for hit in hits:
version_history = (
get_version_history(args..)
if request.get(SHOW_FLAG,True)
else None
)
response.append(format_response(hit,version_history))
方法2:
if request.get(SHOW_FLAG,True):
for hit in hits:
version_history = get_version_history(args..)
response.append(format_response(hit,version_history))
else:
for hit in hits:
version_history = None
response.append(format_response(hit,version_history))
解决方法
我愿意
response = [format_response(hit,get_version_history(args...) if request.get(SHOW_FLAG,True) else None) for hit in hits]
尽管您建议的方法之间没有明显区别,但前者可能更易于维护。