📅  最后修改于: 2023-12-03 15:04:28.833000             🧑  作者: Mango
在Python中,set和list都是常用的数据类型,但是它们在功能和使用方面有着明显的区别。
set是一组无序的、不重复的元素的集合,它类似于数学中的集合。set可以用大括号{}或者set()函数创建,元素之间用逗号分隔。
示例代码:
# 创建一个set
a = {1, 2, 3, 4, 5}
b = set([2, 4, 6, 8, 10])
print(a)
print(b)
输出结果:
{1, 2, 3, 4, 5}
{2, 4, 6, 8, 10}
set有以下几个特点:
# set的运算
a = {1, 2, 3, 4, 5}
b = {4, 5, 6, 7, 8}
print(a & b) # 交集
print(a | b) # 并集
print(a - b) # 差集
输出结果:
{4, 5}
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3}
set的操作时间复杂度跟元素个数有关,因此在大数据量的情况下,使用set比list更快。
list是一组有序的、可重复的元素的集合,它类似于数组。list可以用方括号[]或者list()函数创建,元素之间用逗号分隔。
示例代码:
# 创建一个list
a = [1, 2, 3, 4, 5]
b = list(range(1, 6))
print(a)
print(b)
输出结果:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
list有以下几个特点:
# list的操作
a = [1, 4, 3, 2, 5]
print(a[0]) # 索引
print(a[1:3]) # 切片
a.sort() # 排序
print(a)
输出结果:
1
[4, 3]
[1, 2, 3, 4, 5]
list的操作时间复杂度跟元素个数有关,因此在大数据量的情况下,使用set比list更慢。
set和list在应用场景上有所不同,选择哪种数据类型应根据具体情况来决定。如果需要去重、集合运算等操作,应选择set;如果需要保持元素的顺序、可以重复、可以进行索引等操作,应选择list。