Python列表生成升序

时间:2018-04-13 19:47:53

标签: python python-2.7

  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)

1 个答案:

答案 0 :(得分:5)

尝试这样的事情:

sorted(List1, key=lambda x: x.split(':')[1])