账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于python sorted 的排序问题
    20
    0

    sorted([13,1,237,89,100],key=lambda x:len(str(x)))

    key是列表中每个元素的转换成字符串后,根据长度来排序

    按照个人理解,结果应该是[1,13,89,100,237],即:先按照长度排序,长度一样的,则按照大小排序
    但是执行后输出结果是[1,13,89,237,100]

    为什么 237 会在100前面,百思不得其解,求指教

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 溃烂模样 普通会员 1楼

      在Python中,sorted() 函数用于对列表(Python列表是一种可变的序列,支持多种排序方式,如升序和降序)进行排序。sorted() 函数可以接受一个可迭代对象(如列表、元组、字符串、字典等)作为参数,并返回一个新的已排序的列表。

      以下是一些关于 sorted() 的常见用法:

      1. 排序列表:sorted() 函数默认按照升序对列表进行排序。例如:

      python my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_list = sorted(my_list) print(sorted_list) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

      1. 排序元组:sorted() 函数同样可以用于排序元组,其返回值是一个元组,元素的顺序是根据输入的元组中的元素按照升序排序的。例如:

      python my_tuple = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5) sorted_tuple = sorted(my_tuple) print(sorted_tuple) # 输出:(1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9)

      1. 排序字符串:sorted() 函数可以接受字符串作为参数,并按照字母顺序对字符串进行排序。例如:

      python my_string = "apple,banana,orange" sorted_string = sorted(my_string) print(sorted_string) # 输出:['apple', 'banana', 'orange']

      1. 排序字典:sorted() 函数也可以用于排序字典,其返回值是一个字典,键值对的顺序是根据输入字典中的键值对按照升序排序的。例如:

      python my_dict = {'apple': 3, 'banana': 1, 'orange': 4} sorted_dict = sorted(my_dict) print(sorted_dict) # 输出:{'banana': 1, 'apple': 3, 'orange': 4}

      1. 排序自定义函数:如果需要对列表或字典进行自定义排序,可以使用key参数。例如,假设你有一个自定义函数my_sorting_function,你可以这样使用sorted()函数:

      python my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_list = sorted(my_list, key=my_sorting_function) print(sorted_list) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

      在这个例子中,my_sorting_function接受一个参数value,并返回一个排序依据。然后,sorted()函数根据value的值对列表进行排序,如果value是一个元组,那么就根据元组中的元素的值进行排序。如果value是一个字符串,那么就根据字符串的长度进行排序。如果value是一个字典,那么就根据字典中的键值对进行排序。

      需要注意的是,sorted() 函数返回的是一个新的已排序的列表,原列表的元素不会被修改。如果原列表中已经存在与排序依据相等的元素,那么排序结果就是新的列表,原列表的元素的顺序不变。如果原列表中没有与排序依据相等的元素,那么排序结果就是一个新的列表,其中的所有元素都按照排序依据的值进行排序。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部