-2

我正在尝试按每个元素中找到的数字对该列表进行排序。

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

已经搞砸了几个小时,任何帮助将不胜感激。

4

1 回答 1

0

我认为你非常接近。revision_type 是一个包含元组的列表。因此,您必须提取第一个元素并传递给 sorted 函数。

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')]
于 2013-08-16T10:33:48.807 回答