这是问题所在,我正在使用该sorted
函数来排列字母数字字符串列表。所述字符串必须在其中以字母分隔的数字。
例如:sortqns(['s1q1', 's10q1', 's1q2', 's10q10', 's10q2'])
def cmpqn(a, b):
if len(a) > len(b):
return 1
if len(a) < len(b):
return -1
if len(a) == len(b):
return 0
def sortqns(qnlist):
new = sorted(qnlist, cmp=cmpqn)
return new
退货['s1q1', 's1q2', 's10q1', 's10q2', 's10q10']
我的问题是对第二个数字进行排序:
sortqns(['s12q1', 's1q2', 's1q1'])
Returns ['s1q2', 's1q1', 's12q1']
代替:
Returning ['s1q1', 's1q2', 's12q1']
在第一个示例中,如果前两个项目也被交换,我想要的回报将是关闭的。