当前位置: 首页 > 面试题库 >

Python-sorted(list)和list.sort()有什么区别?

商曦
2023-03-14
问题内容

list.sort()对列表进行排序并保存排序后的列表,同时sorted(list)返回列表的排序后的副本,而不更改原始列表。

  • 但是什么时候使用哪个呢?
  • 哪个更快?又快多少?
  • 之后可以检索列表的原始位置list.sort()吗?

问题答案:

sorted()返回一个新的排序列表,而原始列表不受影响。就地list.sort()对列表进行排序,使列表索引突变,然后返回None(就像所有就地操作一样)。

sorted()适用于任何可迭代的对象,而不仅仅是列表。字符串,元组,字典(你将获得键),生成器等,返回包含所有已排序元素的列表。

  • 使用list.sort()时要变异列表中,sorted()当你想要一个新的排序的对象返回。使用sorted()时要排序的东西,是一个可迭代,而不是一个名单尚未。

  • 对于列表,list.sort()它比sorted()不需要创建副本要快。对于其他任何迭代,你别无选择。

  • 不,你无法检索原始位置。一旦你致电list.sort(),原始订单就消失了。



 类似资料:
  • 问题内容: 以下代码之间有什么区别: 和 Python建议采用一种做事方式,但有时似乎不止一种。 问题答案: 一个是函数调用,一个是文字: 使用第二种形式。它更具Python风格,并且可能更快(因为它不涉及加载和调用单独的函数)。

  • 问题内容: 和接口之间的根本区别是什么? 问题答案: 是元素的有序序列,而元素是无序的独特列表。 有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过其整数索引(列表中的位置)访问元素,并在列表中搜索元素。 一个不包含重复元素的集合。更正式地说,集合不包含元素对e1和e2,使得e1.equals(e2)最多包含一个空元素。顾名思义,此接口对数学集合抽象进行建模。

  • 问题内容: 列表方法append()和之间有什么区别extend()? 问题答案: 5111 在末尾追加对象。 给你: 通过添加来自的元素来扩展列表。 给你:

  • 元组和列表同属序列类型,且都可以按照特定顺序存放一组数据,数据类型不受限制,只要是 Python支持的数据类型就可以。那么,元组和列表有哪些区别呢?元组和列表最大的区别就是,列表中的元素可以进行任意修改,就好比是用铅笔在纸上写的字,写错了还可以擦除重写;而元组中的元素无法修改,除非将元组整体替换掉,就好比是用圆珠笔写的字,写了就擦不掉了,除非换一张纸。

  • 问题内容: 和Java 之间有什么区别?我什么时候应该使用哪个? 问题答案: 首先:a 是a 。但是,它是专门的。 A 就是这样:项目的集合。您可以添加内容,删除内容,迭代内容并查询其中有多少内容。 一个增加有关规定的东西,它的序列信息:你可以在获取位置的元素 ñ ,你可以在位置添加元素 ñ ,你可以在位置删除元素 ñ 。 在a中,您无法执行此操作:未定义“此集合中的第5个元素”,因为没有定义的顺

  • 问题内容: 我想知道和之间有什么区别。我知道最后一个是常规的ID分配,但第一个看起来不同。有什么特别之处? 我在哪里看到的: 我正在研究ListView,ListAdapter之类的东西,作者在布局xml文件中定义了ListView,如下所示: 我也要提一下id 他还扩大了课堂。 这是文章的出处。 还有我在想什么问题: 我们应该扩展吗?也许我想要一个还包含其他视图的活动。 我们只是因为扩展而使用,