gpt4 book ai didi

Python:返回元组或列表?

转载 作者:太空狗 更新时间:2023-10-29 18:13:55 25 4
gpt4 key购买 nike

我有一个返回列表或元组的方法。在参数中表示返回类型的最 Pythonic 方式是什么?

def names(self, section, as_type=()):
return type(as_type)(([m[0] for m in self.items(section)]))

最佳答案

pythonic 方式是根本不关心类型。返回一个元组,如果调用函数需要一个列表,则让它在结果上调用 list()。反之亦然,以更有意义的默认类型为准。

更好的是,让它返回一个生成器表达式:

def names(self, section):
return (m[0] for m in self.items(section))

现在调用者得到一个延迟计算的迭代器。然后他可以决定对其进行迭代:

for name in obj.names(section):
...

或者从头开始从中创建列表或元组 - 他永远不必将现有列表更改为元组,反之亦然,因此这在所有情况下都是有效的:

mylist = list(obj.names(section))
mytuple = tuple(obj.names(section))

关于Python:返回元组或列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8159107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com