遍历列表(Python)

遍历列表(Python),python,Python,我有一个这样扩展的列表,我想根据每个列表第二部分的前2位数字对它们进行排序。我现在真的很忙,所以需要一些帮助 collection = ["81851 19AJA01", "68158 17ARB03", "104837 20AAH02", 我试过了,但没用。我这样做不是为了上课我真的需要一些帮助 for x in collection: counter = 0 i=0 for y in len(str(x)): if (x

我有一个这样扩展的列表,我想根据每个列表第二部分的前2位数字对它们进行排序。我现在真的很忙,所以需要一些帮助

collection = ["81851 19AJA01", "68158 17ARB03", "104837 20AAH02", 
我试过了,但没用。我这样做不是为了上课我真的需要一些帮助

for x in collection:
counter = 0
i=0
for y in len(str(x)):
    if (x[i] == '1'):
        counter == 1
    elif (x[i] == '2'):
        counter == 2
    elif x[i]  == '0' and counter == 2:
        counter = 2
    elif x[i]  == '9' and counter == 1:
        counter = 3
    elif x[i]  == '8' and counter == 1:
        counter = 4
    elif x[i] == '7' and counter == 1:
        counter = 5
    i = i + 1
    
if (counter==2):
    freshmen.append(x)
elif (counter==3):
    sophomores.append(x)
elif (counter==4):
    juniors.append(x)
elif (counter==5):
    seniors.append(x)
使用定义自定义排序规则:

In [1]: collection = ["81851 19AJA01", "68158 17ARB03", "104837 20AAH02"]

In [2]: sorted(collection, key=lambda x: int(x.split()[1][:2]))
Out[2]: ['68158 17ARB03', '81851 19AJA01', '104837 20AAH02']

啊。我正要发帖,我看到你的答案出现了!:)@idjaw是的,这是一种常见的类型排序+关键问题,必须很快给出答案:)当我运行排序(collection,key=lambda x:int(x.split()[1][:2])时,我得到了以10为基数的int()的错误无效文本:“RB”