python的set语法_python 集合 set

集合 set:可变集合与不可变集合

可变集合:可以向集合中添加删除元素,非可哈希的,不能用作字典的键,也不能做其他集合的元素。

把不同的元素组成一起形成集合,集合不记录元素的位置或者插入点,也就是不能用index索引来获取元素。

集合元素:组成集合的成员不可以有重复,有重复的会被筛选过滤。

语法:set()函数

set('list')  参数需要时一个序列

例如:

>>> s = set('alex li')

>>> s

set(['a', ' ', 'e', 'i', 'l', 'x'])  在这里会发现两个l字符,输出时只出现了一次,其中一个重复的被set给筛选过滤掉了。

>> a=[1,2,3,4,5,6]

>>> b=set(a)      当集合被创建后,集合里面的内容就无法在进行修改

>>> b

set([1, 2, 3, 4, 5, 6])

集合对象是一组无序排列的可哈希的值:集合成员可以作为字典的键,列表,字典,元祖这些就是不可哈希的代表。

如何查看集合中的数据:

1、通过for循环的方式查看

2、通过迭代器的方式去查看

不可变集合:不可以向集合中添加删除元素,非可哈希的,不能用作字典的键,也不能做其他集合的元素。

日常操作:

1、创建集合:由于集合没有自己的语法格式,只能通过集合的工厂方法set()和forzenset()来创建。

>>> set("[1,2,3,4,5]")

set([',', '1', '3', '2', '5', '4', '[', ']'])

2、访问集合:由于集合本身是无序的,所以不能为集合创建索引或切片操作,只能通过循环遍历或使用用in、not in 来访问或者判断集合元素。

>>> b

set([1, 2, 3, 4, 5, 6])

>>> 2 in b

True

>>> li = [2,3,'alex']

>>> li

[2, 3, 'alex']

>>> b=set(li)

>>> b

set([2, 3, 'alex'])

>>> 'alex' in b

True

>>> 'ale' in b    通过这里可以发现‘alex’在集合中是作为一个整体的,不是作为一个字符串可以进行分开匹配。

False

3、更新元素:

add()方法:添加一个元素,把参数当做一个元素,不管参数的内容是多少。

>>> b

set([2, 3, 'alex'])

>>> b.add('qiyuanchang')

>>> b

set([2, 3, 'alex', 'qiyuanchang'])

update()方法:会把参数当做一个序列,参数会被拆分成序列添加到集合中,有重复的会被做去重操作。

>>> b

set([2, 3, 'alex', 'qiyuanchang', 'uu', 'u'])

>>> b.update('ops')

>>> b

set([2, 3, 'alex', 'qiyuanchang', 'uu', 'o', 'p', 's', 'u'])    这里会发下参数ops被做了拆分

>>> b.update('wwwwww')

>>> b

set([2, 3, 'alex', 'qiyuanchang', 'uu', 'o', 'p', 's', 'u', 'w'])    这里重复的几个w都被过滤掉了,只保留了一个

>>> li

[2, 3, 'alex']

>>> b=set(li)

>>> b

set([2, 3, 'alex'])

>>> b.update(['12','qiyuanchang'])    当参数是列表的时候,会把列表中的几个元素拆分添加到集合中。

>>> b

set(['12', 2, 3, 'alex', 'qiyuanchang'])

remove()方法:可以删除集合中的指定元素

>>> b

set(['12', 2, 3, 'alex', 'qiyuanchang'])

>>> b.remove(2)

>>> b

set(['12', 3, 'alex', 'qiyuanchang'])

pop()方法:随机删除集合中的元素,测试得知,应该默认会删除第一个集合元素。

>>> b

set(['12', 3, 'alex', 'qiyuanchang'])

>>> b.pop()

'12'

clear()方法:清空集合

>>> b.clear()

>>> b

set([])

del 方法:删除集合

>>> del s

>>> s

Traceback (most recent call last):

File "", line 1, in

NameError: name 's' is not defined

4、集合的类型操作符:

in、not in:可以判断一个元素是否存在于集合中

>>> s=set('qiyuanchang')

>>> s1=set('yuan')

>>> s

set(['a', 'c', 'g', 'i', 'h', 'n', 'q', 'u', 'y'])

>>> 'q' in s

True

集合等价于不等价(==、!=):判断两个集合是否相同

子集、超集:判断一个集合的元素内容是否是另外一个集合的子集。

>>> s=set('qiyuanchang')

>>> s1=set('yuan')

>>> s1 < s

True

联合:联合操作与集合的or操作其实是等价的,联合符号有个等价的方法,union()

交集:

差集:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Pythonset 集合的相关语法: 1. 创建集合:使用大括号 {} 或 set() 函数来创建集合,如 `aset = {1, 2, 3}` 或 `aset = set([1, 2, 3])`。 2. 集合元素:集合中的元素必须是不可变的,如数字、字符串或元组等。集合中的元素是无序的,不重复的。 3. 访问集合:由于集合是无序的,因此不能通过索引来访问集合中的元素。可以使用 for 循环或 in 运算符来遍历集合中的元素。 4. 修改集合:可以使用 add()、update()、discard() 或 remove() 等方法来修改集合中的元素。其中,add() 方法用于向集合中添加单个元素,update() 方法用于向集合中添加多个元素,discard() 方法用于删除集合中的指定元素,remove() 方法也用于删除集合中的指定元素,但如果指定元素不存在,则会引发 KeyError 异常。 5. 集合运算:可以使用 &、|、-、^ 等运算符来进行集合的交、并、差、对称差等运算。 6. 集合方法:还可以使用其他的集合方法来进行元素的添加、删除、查找、比较等操作,如 issubset()、issuperset()、intersection()、union()、difference() 等。 需要注意的是,集合Python 中的一种无序、不重复的集合类型,可以用于去重、成员关系测试、集合运算等操作。集合的元素必须是不可变的,如数字、字符串或元组等。集合的操作具有确定性和无状态性,即对于同一集合和相同的操作,每次操作的结果都是相同的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值