【发布时间】:2011-10-14 12:15:48
【问题描述】:
previous stackoverflow question 解释了如何按字母数字对字符串列表进行排序。我想按元组的第一个元素按字母数字对元组列表进行排序。
示例 1:
>>> sort_naturally_tuple([('b', 0), ('0', 1), ('a', 2)])
[('0', 1), ('a', 2), ('b', 0)]
示例 2:
>>> sort_naturally_tuple([('b10', 0), ('0', 1), ('b9', 2)])
[('0', 1), ('b9', 2), ('b10', 0)]
更新:为了强调字母数字因素,请查看示例 2。
【问题讨论】:
-
它的拼写是
sorted(),工作原理完全一样(除了它返回的是生成器而不是列表)。 -
@Kirk
sorted无论输入如何(iter、tuple、genexp)都会返回一个列表... -
@JBernardo 你是对的,当然。我在想
reversed并在验证之前写了这个。如果我让任何人感到困惑,我深表歉意。
标签: python sorting tuples alphanumeric natural-sort