初心に帰って、lambda

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])