takemikami
1/19/2018 - 8:55 AM

python idioms for list[dict]

python idioms for list[dict]

sample = [
  {'name': 'hoge', 'val1': 10},
  {'name': 'fuga', 'val1': 30},
]

# filter #1
filter(lambda x: x['val1'] > 20, sample)
#   => [{'val1': 30, 'name': 'fuga'}]

# filter #2
[x for x in sample if x['val1'] > 20]
#   => [{'val1': 30, 'name': 'fuga'}]

# sort
sorted(sample, key=lambda x: x['name'])
#   => [{'val1': 30, 'name': 'fuga'}, {'val1': 10, 'name': 'hoge'}]

# transform to dict[dict]
dict([(x['name'], x) for x in sample])
#   => {'fuga': {'val1': 30, 'name': 'fuga'}, 'hoge': {'val1': 10, 'name': 'hoge'}}