質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

4回答

938閲覧

リスト内辞書の扱い方

TON-B

総合スコア21

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/10/15 22:58

実現したいこと

リスト内にある複数の辞書のキー、値の操作。
例えば、それぞれの辞書のnameキーの値のみを抽出する方法や、「1つ目の辞書」のnameキーの値のみを抽出する方法について知りたいです。

該当のソースコード

python

1members = [ 2 {'name': 'あなた', 'age': 15, 'address': '東京'}, 3 {'name': 'きみ', 'age': 25, 'address': '大阪'}, 4 {'name': 'ユー', 'age': 30, 'address': '名古屋'}]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

python

1from operator import itemgetter 2 3members = [ 4 {'name': 'あなた', 'age': 15, 'address': '東京'}, 5 {'name': 'きみ', 'age': 25, 'address': '大阪'}, 6 {'name': 'ユー', 'age': 30, 'address': '名古屋'}] 7 8for name in map(itemgetter('name'), members): 9 print('name:', name)

投稿2018/10/15 23:22

YouheiSakurai

総合スコア6142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

listとdictという組み込み型を組み合わせただけなので、pythonの基本的な知識があれば十分扱えると思います。

まず外側のリストに対して内側の辞書を取り出す操作をする→内側の辞書に対して操作をする

というだけです。

python

1# それぞれの辞書から名前を抽出 2[d["name"] for d in members] 3 4# 1つめの辞書のnameキー 5members[0]["name"]

投稿2018/10/15 23:11

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TON-B

2018/10/16 12:31

わかりやすい説明ありがとうございます。 不勉強で申し訳ないのですがもうひとつ質問です。 [d["name"] for d in members]の形ですが、これは [式 for 変数 in リスト if 条件] というリスト内包表記を用いているということでよろしいのでしょうか?
TON-B

2018/10/16 22:33

ありがとうございます。
guest

0

一応、そのまま pandasでDataFrame化するという手も。。。

Python

1import pandas as pd 2 3members = [ 4 {'name': 'あなた', 'age': 15, 'address': '東京'}, 5 {'name': 'きみ', 'age': 25, 'address': '大阪'}, 6 {'name': 'ユー', 'age': 30, 'address': '名古屋'}] 7 8df = pd.DataFrame(members) 9 10# nameキーの値のみ 11print(df['name']) 12#0 あなた 13#1 きみ 14#2 ユー 15#Name: name, dtype: object 16 17# 「1つ目の辞書」のnameキーの値のみ 18print(df.loc[0, 'name']) 19#あなた 20

投稿2018/10/15 23:59

編集2018/10/16 00:04
magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2018/10/15 23:11

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問