小编Nic*_*ick的帖子

Pythonic方法按字段名称排序namedtuples列表

我想排序一个命名元组列表,而不必记住fieldname的索引.我的解决方案似乎相当尴尬,并希望有人会有一个更优雅的解决方案.

from operator import itemgetter
from collections import namedtuple

Person = namedtuple('Person', 'name age score')
seq = [
    Person(name='nick', age=23, score=100),
    Person(name='bob', age=25, score=200),
]

# sort list by name
print(sorted(seq, key=itemgetter(Person._fields.index('name'))))
# sort list by age
print(sorted(seq, key=itemgetter(Person._fields.index('age'))))
Run Code Online (Sandbox Code Playgroud)

谢谢,尼克

python sorting field-names namedtuple

50
推荐指数
3
解决办法
2万
查看次数

标签 统计

field-names ×1

namedtuple ×1

python ×1

sorting ×1