Python:获取列表中字典项的索引
我有一个列表li:
[
{name: "Tom", age: 10},
{name: "Mark", age: 5},
{name: "Pam", age: 7}
]
我想找到某个名字对应的项目在列表中的位置。比如,如果我问“Tom”,它应该告诉我位置是0。如果我问“Pam”,它应该告诉我位置是2。
2 个回答
17
你可以用 name
来给字典(dicts)建立索引。
people = [ {'name': "Tom", 'age': 10}, {'name': "Mark", 'age': 5} ]
name_indexer = dict((p['name'], i) for i, p in enumerate(people))
name_indexer.get('Tom', -1)
27
>>> from operator import itemgetter
>>> map(itemgetter('name'), li).index('Tom')
0
>>> map(itemgetter('name'), li).index('Pam')
2
如果你需要从同一个列表中查找很多这样的东西,像Satoru.Logic的回答那样创建一个字典,会更有效率。