我正在尝试按每个元素中的数字对此列表进行排序。
revision_type = [('100K Revision', '50K Revision', '25K Revision')]
这是我到目前为止所提出的,但不断收到错误:
AttributeError: 'tuple' object has no attribute 'partition'
revision_sorted = sorted(revision_type, key=lambda s: (int(s.partition(' ')[0][:-1])))
我希望列表revision_sorted
为:
[('25K Revision', '50K Revision', '100K Revision')]
几个小时以来一直在搞乱这个问题,非常感谢任何帮助。
答案 0 :(得分:0)
我认为你很亲密。 revision_type是一个包含元组的列表。因此,您必须提取第一个元素并传递给已排序的函数。
revision_type = [('100K Revision', '50K Revision', '25K Revision')]
revision_sorted = [tuple(sorted(revision_type[0], key=lambda s: (int(s.partition(' ')[0][:-1]))))]
print revision_sorted
<强>输出强>
[('25K Revision', '50K Revision', '100K Revision')]