python3で辞書のkeyの値を出力したい
python3で多重レベルの辞書の値を出力したい場合、get()で存在確認する(No.1)、inで存在確認(No.2)するとネストが深くなってしまうのですが、より簡潔に書くにはどうしたらよいでしょうか?また、No.1、No.2の使い分けはどうしたらいいでしょうか?
cats = [
"Henri",
"Grumpy",
"Lucy",
]
animals = {
"cats": cats,
"octopi": {},
"emus": {},
}
life = {
"animals": animals,
"plants": {},
"other": {},
}
# No.1
if life.get("animals") != None:
if life.get("animals").get("cats") != None:
print(life.get("animals").get("cats"))
# No.2
if "animals" in life:
if "cats" in life["animals"]:
print(life["animals"]["cats"])