[英]What is the difference between sets and lists in Python?
Python 中集合和列表之间的唯一区别是您可以使用并集、相交、差值、对称差值函数来比较两个集合吗? 为什么这些函数不能简单地应用于列表? 在什么情况下集合比列表更有用?
有很大的不同。
__contains__
( in
运算符)对于集合比列表更有效。set(([1],[2]))
你会得到一个TypeError
。在实际应用中,列表非常适合排序和排序,而当您不想要重复并且不关心顺序时,集合很适合使用。
另请注意,如果您不关心订单等,则可以使用
new_set = myset.intersection(mylist)
获取set
和list
之间的交集。
放
集合是无序和无索引的集合,不允许重复。 在 Python 中,集合是用大括号编写的。
# example set
newset = {"one", "two", "three"}
列表
列表是有序且可变的集合。 在 Python 中,列表是用方括号编写的。
# example list
newlist =["one", "two", "three"]
还有一些区别是:
hash function
来查找元素,而 list 是一个数组。 因此在Set
查找元素比在list
更快。Set 表示不同元素的集合。 在python中,使用集合主要有两个原因(书籍:Data Science from Scratch,Joel Gruce):
为了更快的操作: in是对集合的非常快的操作。 如果我们有大量元素并且希望执行成员资格测试,在这种情况下,使用 set 而不是列表是合适的。
在集合中查找不同的项目。 程序员使用集合的频率远低于字典和列表。
实际上python中有四种集合数据类型:
List是一个有序且可变的集合。 允许重复成员。
元组是一个有序且不可更改的集合。 允许重复成员。
Set是一个无序且无索引的集合。 没有重复的成员。
字典是一个无序、可变和索引的集合。 没有重复的成员。
您可以通过引用其索引来访问列表项。 但是,在set 中,您需要遍历 set 项才能访问它。
Sets 和 Lists 的区别这里我们将讨论 Python 中 Sets 和 List 的区别。
列表1) 列表按元素插入的顺序保存元素。 2) 列表支持索引。 3) 我们可以改变存储在列表中的元素的值。 4) 列表可以存储重复值。 5) 列表使用方括号声明。 6) 例子:A = [1, 2, 3, 4, 5, 1, 2, 3]
集合1) 集合不会按照元素插入的顺序保存元素。 2) 集合不支持索引。 3) 我们不能改变存储在集合中的元素的值。 4) 集合不能存储重复值。 5) 使用大括号声明集合。 6) 例子:A = {1, 2, 3, 4, 5}
在下面给出的链接上了解有关 Sets with Example 的更多信息https://tutorialsimpact.com/python/sets-in-python
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.