gpt4 book ai didi

python - 更优雅/pythonic 的方式附加到数组,或创建它

转载 作者:太空宇宙 更新时间:2023-11-04 08:15:31 26 4
gpt4 key购买 nike

出于某种原因,考虑到我在 Python 中不断发现的所有语法糖,以下代码对我来说感觉有点麻烦,所以我想询问是否有更好的方法:

pictures = list_of_random_pictures()
invalid_pictures = {}
for picture in pictures:
if picture_invalid(picture):
if not invalid_pictures.get(picture.album.id):
invalid_pictures[picture.album.id] = []
invalid_pictures[picture.album.id].append(picture)

所以澄清一下,我想知道是否有更易读的方法来处理上面的最后 3 行。因为我要重复 invalid_pictures[picture.album.id] 3 次,如果它完全可以避免的话,它似乎没有必要。

编辑:刚刚意识到我上面的代码会出现 KeyError,所以我修改了它来处理这个问题。

最佳答案

事实上,标准库中有一个对象可以准确处理这种情况:collections.defaultdict

它将一个类型或函数作为参数,为缺失的键生成默认值。

from collections import defaultdict

invalid_pictures = defaultdict(list)
for picture in pictures:
if picture_invalid(picture):
invalid_pictures[picture.album.id].append(picture)

关于python - 更优雅/pythonic 的方式附加到数组,或创建它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15194008/

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