我正在编写一些代码并遇到以下循环。是否有更多的pythonic写作方式。
# obj_list = list of tuples [(someint, object)...]
for a, obj in obj_list:
obj.callable()
答案 0 :(得分:5)
不是,它看起来很好。您可以使用a
而不是_
来表示该值未被使用,但这只是一个非常小的问题。
如果obj.callable()
要返回一个值,并且您想存储值,则可以使用列表推导:
results = [obj.callable() for _, obj in obj_list]
results
将包含每次调用obj.callable()
时返回的值列表。
答案 1 :(得分:0)
不是真的。可能会有更多的pythonic"方式,但他们会牺牲可读性或做一些稍微不同的事情。
E.g。你可以列出理解:
returns = [ x.callable() for dummy, x in obj_list]
但它看起来几乎完全相同并存储结果(可能不合适)。
您可以使用map
,但是取出元组所需元素并在其上调用方法的函数虽然可能,但可能看起来像混淆。