c语言编程笔录

首页 >   > 笔记大全

笔记大全

python中set函数有什么用

更新时间:2023-10-20

第一段:set函数是什么,可以用来解决哪些问题?

set函数是一种非常有用的数据结构,可以实现集合的操作。它类似于列表(list)和元组(tuple),但具有独一无二的元素,没有重复的元素。因此,使用set函数可以高效地去除列表中的重复元素。另外,由于set函数不是有序的,因此不能按照索引来访问集合中的元素。如果需要有序的集合,则需要使用列表或元组来实现。


#去除列表中的重复元素
lst = [1, 2, 3, 2, 4, 3, 5, 6, 4, 7]
new_lst = list(set(lst))
print(new_lst)

第二段:set函数的常见用法

除了去除列表中的重复元素之外,set函数还有一些其他常见的用法。例如:

  • 判断元素是否在集合中
  • 求两个集合的交、并、差
  • 判断两个集合是否有交集

#判断元素是否在集合中
s = set([1, 2, 3])
print(1 in s)
print(4 in s)

#求两个集合的交、并、差
s1 = set([1, 2, 3, 4])
s2 = set([3, 4, 5, 6])
print(s1 & s2)    #交集
print(s1 | s2)    #并集
print(s1 - s2)    #差集

#判断两个集合是否有交集
s1 = set([1, 2, 3])
s2 = set([3, 4, 5])
if s1 & s2:    #如果s1和s2有交集
    print("有交集")
else:
    print("无交集")

第三段:set函数的注意事项

虽然set函数有很多用处,但在使用该函数时,需要注意以下几点:

  • set函数中的元素必须是可哈希的(hashable),否则会报错
  • 不能对set函数中的元素进行修改,因为集合是不可变的

#set函数中的元素必须是可哈希的
s = set([[1, 2], [3, 4]])    #列表不可哈希
print(s)    #报错TypeError: unhashable type: 'list'

#不能对set函数中的元素进行修改
s = set([1, 2, 3])
s[0] = 4    #报错TypeError: 'set' object does not support item assignment

第四段:小结

set函数是Python中非常有用的数据结构之一,它可以高效地去除列表中的重复元素,还可以用来进行集合操作。使用set函数需要注意元素的可哈希性和集合的不可变性。在实际编程中,应该充分利用set函数的特性,提高程序的效率和可读性。