如何在python中获取字典排序列表的索引?

时间:2016-07-24 00:39:50

标签: python dictionary sorted

所以我知道排序dict列表的方法,但我无法弄清楚如何同时获取索引。假设我有这样的字典:

cities = [{'city': 'Harford', 'state': 'Connecticut'},
          {'city': 'Boston', 'state': 'Massachusetts'},
          {'city': 'Worcester', 'state': 'Massachusetts'},
          {'city': 'Albany', 'state': 'New York'},
          {'city': 'New York City', 'state': 'New York'},
          {'city': 'Yonkers', 'state': 'Massachusetts'}]

我可以通过“州”使用以下方式对此词典进行排序:

new_cities = sorted(cities, key=itemgetter('state'))

得到:

    cities = [{'city': 'Harford', 'state': 'Connecticut'},
          {'city': 'Boston', 'state': 'Massachusetts'},
          {'city': 'Worcester', 'state': 'Massachusetts'},
          {'city': 'Yonkers', 'state': 'Massachusetts'},
          {'city': 'Albany', 'state': 'New York'},
          {'city': 'New York City', 'state': 'New York'}]

但是如何同时获得列表的索引呢?

1 个答案:

答案 0 :(得分:1)

<version>2.3-SNAPSHOT</version>

首先枚举它将为您提供原始new_cities = sorted(enumerate(cities), key=lambda x: x[1]['state']) 列表的索引,然后可以对其进行排序。

cities