gpt4 book ai didi

python - 是否有 "Pythonic"方法来创建包含条件项的列表?

转载 作者:行者123 更新时间:2023-11-28 20:47:02 26 4
gpt4 key购买 nike

我在真正的 Django 函数中得到了这段代码。如果满足某些条件,项目将添加到 列表

ret = []

if self.taken():
ret.append('taken')

if self.suggested():
ret.append('suggested')

#.... many more conditions and appends...

return ret

它非常实用。你知道它的作用,这很棒......
但我已经学会欣赏 listdict 理解的美妙之处。

是否有更Python 的方式来表达这个结构,或许可以一次性初始化和填充数组?

最佳答案

创建映射字典:

self.map_dict = {'taken': self.taken,
'suggested': self.suggested,
'foo' : self.bar}
[x for x in ['taken', 'suggested', 'foo'] if self.map_dict.get(x, lambda:False)()]

相关:Most efficient way of making an if-elif-elif-else statement when the else is done the most?

关于python - 是否有 "Pythonic"方法来创建包含条件项的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19831742/

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