【问题标题】:What is difference between list and set in python? [duplicate]python中的list和set有什么区别? [复制]
【发布时间】:2021-07-14 06:05:50
【问题描述】:

我读到该列表需要 O(n) 来搜索集合需要 O(1) 的位置。

1)我不明白为什么搜索需要不同的时间,即使它们包含多个元素。

2) 为什么使用集合而不是列表会有很大的不同? python list 和 python set 有什么区别,尤其是在搜索时。

3)考虑到内存和时间,使用list或python哪个更好

【问题讨论】:

    标签: python python-3.x list set big-o


    【解决方案1】:

    集合和列表之间的一些主要区别。

    • 集合的顺序未定义。例如您无法确定集合的“第一个”元素是什么。
    • 集合必须是唯一的,不能包含重复的元素。

    这一切都非常简单,但是对于只有唯一项目且顺序未确定的集合,它允许根据自身唯一地定义对象在内存中的位置。因此,当您在集合中搜索特定对象时,它已经知道该对象在内存中的预期位置。这就是为什么它是 O(1)(它不需要遍历所有元素)

    1. 如果您不关心列表的顺序并且您总是拥有独特的项目,那么最好使用集合。

    【讨论】:

      猜你喜欢
      • 2020-08-20
      • 2011-04-08
      • 2022-01-14
      • 2011-05-04
      • 2013-01-31
      • 2015-11-08
      • 2012-09-26
      • 2021-07-24
      相关资源
      最近更新 更多