Pythonで、以下のようなリストある時、
items = [{'name': 'A', 'type': 'string'}, {'name': 'B', 'type': 'int'}, {'name': 'C', 'type': 'bool'}]
ここから、'name' キーの値を準備に並べて次のリストを求めたい。
['A', 'B', 'C']
初心者がすぐ書きそうなコード
names = [] for a in items: names.append(a['name'])
少し賢く、、
リスト内包表記
names = [v['name'] for v in items]
map関数 lambda →list()
names = list(map(lambda x:x['name'], items))
リスト内包表記、map関数 lambda →list()
どちらがいいのだろう?
join してみる。
namejoin = ','.join(list(map(lambda x:x['name'], items)))
namejoin = ','.join([x['name'] for x in items])