python中列表和集合的区别是什么?

2024-05-16 11:23:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我读到列表需要O(n)来搜索as set需要O(1)的位置

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

2)为什么使用集合而不是列表会产生很大的差异? pythonlist和pythonset之间的区别是什么,尤其是在搜索时

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


Tags: 内存元素列表as时间差异listset
1条回答
网友
1楼 · 发布于 2024-05-16 11:23:36

集合和列表之间的一些关键区别

  • 集合的顺序未定义。e、 你不能确定集合的“第一”元素是什么
  • 集合必须是唯一的,它不能包含重复的元素

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

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

相关问题 更多 >