对具有2个值的子列表进行排序,这些ID的ID由最后一个具有连续数字的字符串组成

时间:2019-01-25 16:54:07

标签: sorting ironpython

我有一个由子列表组成的列表: 每个子列表始终具有两个顺序相同的值: [id,value]

每个id由一个字母表示,该字母表示比位置级别(A到Z)高的功能(W,F,H或R),然后是放置/创建顺序(序列号)。

所以列表看起来像这样:

[[WA1, value],[WA2, value], [HA3, value]....[WA122, value][HA123,value]]

我尝试使用

进行排序

r.sort(lambda x,y:x [0] [1:])希望我能得到部分字符串作为键,但失败了。

pn = input1
th = Input2
i=0
r=[]
for p in pn:
    r.append([p, th[i]])
    i+=1

r.sort(lambda x,y: x[0][1:])

我在最后一行收到回溯错误。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试了一段时间后我想出了答案

sorted(r, key=lambda x: (len(x[0]), x[0][1:]))