【发布时间】:2014-12-15 14:13:02
【问题描述】:
我有这段代码,我知道它可以更高效....
return_list = []
for attribute in attributes:
if attribute['internalname'] in attributenames:
attr = Attribute();
attr.name = attribute['internalname']
attr.value = attribute['value']
return_list.append(attr);
return return_list
我本可以轻松完成列表理解,但由于创建了对象 attr=Attributes(),我不知道该如何处理?
【问题讨论】:
-
效率不会更高,只会更简洁。
-
@f.rodrigues 不太冗长通常也不太可读;生成器通常比长列表理解更好,特别是如果您不需要真正的列表。
-
确实如此。这个 for 循环非常清楚,而答案使它的可读性更差。