cdkeycdma 发表于 2020-8-23 18:32:42

请问如何对嵌套列表排序?

A=[,,,]

请问如何按照嵌套列表中的第一个值的大小进行从大到小的排序?或从小到大的排序?

Twilight6 发表于 2020-8-23 18:45:42

本帖最后由 Twilight6 于 2020-8-23 19:19 编辑



用 sort 函数里面的 key 设置下即可,默认 sort 是从小到大

A = [,,,]
A.sort(key=lambda x:x)
print(A)

如果想从大到小,在 sort 函数里面加上参数 reverse = True 即可

A = [,,,]
A.sort(key=lambda x:x,reverse=True)
print(A)

cdkeycdma 发表于 2020-8-23 19:39:36

Twilight6 发表于 2020-8-23 18:45
用 sort 函数里面的 key 设置下即可,默认 sort 是从小到大




多谢回复,请lambda x:x,这是啥意思?

Twilight6 发表于 2020-8-23 19:41:19

cdkeycdma 发表于 2020-8-23 19:39
多谢回复,请lambda x:x,这是啥意思?



lambda 匿名函数

lambda x:x 相当于(这里用 func 做为函数名):

def func(x):
    return x

聂嘉辉 发表于 2020-8-23 19:42:39

def split_list(the_list):
    lis = []
    for item in the_list:
      if isinstance(item, list):
            lis+=split_list(item)
      else:
            lis.append(item)
    return lis

A = [,,,]
A = split_list(A)
A.sort()# 要从大到小的话指定reverse = True即可
print(A)
这种方法就是A = [[[,],],]也可以。
页: [1]
查看完整版本: 请问如何对嵌套列表排序?