4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonでリスト内の辞書型から特定キーのバリューをリストで取得

Last updated at Posted at 2021-01-04

Pythonの基礎的な所のメモです :pencil:
Python素人なので間違っている所あれば優し目で教えて下さい。:penguin:


hashira = [{'Name': '富岡義勇', 'Kokyuu': '' }, 
           {'Name': '胡蝶しのぶ', 'Kokyuu': '' },
           {'Name': '煉獄杏寿郎', 'Kokyuu': '' },
           {'Name': '宇髄天元', 'Kokyuu': '' },
           {'Name': '時透無一郎', 'Kokyuu': '' },
           {'Name': '甘露寺蜜璃', 'Kokyuu': '' },
           {'Name': '悲鳴嶼行冥', 'Kokyuu': '' },
           {'Name': '伊黒小芭内', 'Kokyuu': '' },
           {'Name': '不死川実', 'Kokyuu': '' }]

柱の名前を取得!

name = [d.get('Name') for d in hashira]
print(name)
# => ['富岡義勇', '胡蝶しのぶ', '煉獄杏寿郎', '宇髄天元', '時透無一郎', '甘露寺蜜璃', '悲鳴嶼行冥', '伊黒小芭内', '不死川実']

共通キーがある場合はget(キー名)ではなく[キー名]で値で取得も出来る!

kokyuu = [d['Kokyuu'] for d in hashira]
print(kokyuu)
# => ['水', '蟲', '炎', '音', '霞', '恋', '岩', '蛇', '風']

次は主要キャラ達


kisatsutai = [{'Name': '竈門炭治郎', 'Kokyuu': '' },
              {'Name': '竈門禰豆子' }, 
              {'Name': '嘴平伊之助', 'Kokyuu': '' },
              {'Name': '我妻善逸', 'Kokyuu': '' }]

# 禰豆子は呼吸が使えない。

柱と同じようにKokyuuを取得してみます。

name = [d.get('Name') for d in kisatsutai]
print(name)
# ['水', None, '獣', '雷']

見ての通り、get()メソッドはデフォルトではキーが存在しないときはNoneを返します。

get()の第二引数でデフォルト値を渡す事も可能

name = [d.get('Name', 'ムーー') for d in hashira]
print(name)
# => ['水', 'ムーー', '獣', '雷']

では、get(キー名)ではなく[キー名]なら?
指定したキーを持たない要素が存在する場合はエラーになります。

kokyuu = [d['Kokyuu'] for d in kisatsutai]
print(kokyuu)
# => KeyError: 'Kokyuu'

if文を使って指定したキーを持たない要素を除外することも可能!

name = [d['Kokyuu'] for d in kisatsutai if 'Kokyuu' in d]

print(name)
# => ['水', '獣', '雷']

以上、劇場版鬼滅の刃を2回見たPython素人がお送りいたしました。
=> MX/4D面白かったです。

【参考】
Pythonで辞書のリストから特定のキーの値のリストを取得

4
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?