List1 = ['ab_01:2,20,100', 'ab_02:1,300,10', "ab_03:5,400,22","ab_04:8,5050,22"]
我列出了如何按升序排列。仅检查冒号值(在本例中为2,1,5,8)以确定排序并保持所有值不变。
预期产出:
List1 = ['ab_02:1,300,10', 'ab_01:2,20,100', "ab_03:5,400,22","ab_04:8,5050,22"]
如果它只是数字,那么我必须使用sorted(list1,key = int)。
我想要这个的原因是,我想从for循环中的较低值迭代。
我尝试过的代码并在中间进行以继续...
List2 = []
for x in List1:
a = x.split(":")[0].split(",")[0]
List2.append(a)
sorted(List2, key=int)
答案 0 :(得分:5)
尝试这样的事情:
sorted(List1, key=lambda x: x.split(':')[1])