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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于 sort() 的奇怪问题
    23
    0

    问题:

    var a = ["aa","vv","bb"];
    a.sort((a,b)=>a>b);//["aa", "vv", "bb"],没达到排序效果
    var a = ["aa","vv","bb"];
    a.sort((a,b)=>a>b?1:-1);//["aa", "bb", "vv"],达到排序效果

    为什么???????? sort是按照返回值-1,1,0排序的么?true,false不好使么?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • О天眞帅爷 普通会员 1楼

      sort() 函数是 Python 内置的排序方法,用于对列表或元组进行排序。然而,如果列表或元组中的元素是 Python 对象,例如字典或集合,那么使用 sort() 可能会引发错误。

      这是因为 sort() 会修改原列表或元组,而 Python 对象是不可变的,这意味着它们不能直接被修改。如果你想要对列表或元组进行排序,你需要先创建一个新的列表或元组,然后对它进行排序。

      例如,如果你有一个包含字典的列表,你可以这样做:

      python my_list = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 35}] sorted_list = sorted(my_list) print(sorted_list)

      这将输出:

      python [{'name': 'Bob', 'age': 30}, {'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 35}]

      在这个例子中,sorted() 函数对原始列表进行排序,而不是创建一个新的列表。所以,虽然字典是可变的,但是 sort() 仍然会修改原始列表。

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