gpt4 book ai didi

Pythonic 按字段名称对命名元组列表进行排序的方法

转载 作者:IT老高 更新时间:2023-10-28 20:33:40 28 4
gpt4 key购买 nike

我想对命名元组列表进行排序,而不必记住字段名的索引。我的解决方案似乎很尴尬,希望有人能提供更优雅的解决方案。

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

谢谢,尼克

最佳答案

from operator import attrgetter
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)]

按名称排序列表

sorted(seq, key=attrgetter('name'))

按年龄排序

sorted(seq, key=attrgetter('age'))

关于Pythonic 按字段名称对命名元组列表进行排序的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12087905/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com