何らかの理由で、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になることに気付いたので、それを処理するように変更しました。