【创作赢红包】python学习——【第七弹】

前言

上一篇文章 python学习——【第六弹】中介绍了 python中的字典操作,这篇文章接着学习python中的可变序列 集合

集合

1: 集合是python语言提供的内置数据结构,具有无序性(集合中的元素无法通过索引下标访问,并且每次输出时元素的排序顺序可能都不相同。),互异性确定性

2 :与列表、字典一样都属于可变类型的序列;但集合中的元素是不能重复的,因此可以利用集合为一组数据去重。

3: 集合是没有value的字典​

创建方式

1:可以直接使用花括号创建: set_name={11,22,‘hello’,‘world’}

2:使用内置函数set() 创建(set() 函数为 Python 的内置函数,其功能是将字符串、列表、元组、range 对象等可迭代对象转换成集合。)创建方式: set_name=set(iteration)

jihe={11,22,33,44}
print(jihe,type(jihe),id(jihe))
# {33, 11, 44, 22} <class 'set'> 140157225363408

jihe2=set(('hello','world',11)) #注意是双括号
print(jihe2,type(jihe2),id(jihe2))
# {'hello', 11, 'world'} <class 'set'> 140157225362928

set1 = set("hello,world")
set2 = set([1, 2, 3, 4, 5])
set3 = set((1, 2, 3, 4, 5))
set4 = set(range(1, 9))
print(set1) #{'o', 'd', 'e', 'r', ',', 'w', 'h', 'l'}
print(set2) #{1, 2, 3, 4, 5}
print(set3) #{1, 2, 3, 4, 5}
print(set4) #{1, 2, 3, 4, 5, 6, 7, 8}

字典转set集合,需要注意的是,只取了字典的key,相当于将字典中的dict.keys()列表转成set集合。

jihe4=set({'a':2,'b':3,'c':4})
print(jihe4)
# {'c', 'a', 'b'}

空集合的创建:

如果要创建空集合,只能使用 set() 函数实现。
因为直接使用一对 {},Python 解释器会将其视为一个空字典。

s=set()
print(s,type(s),id(s))
# set() <class 'set'> 140549035954496
s1=set([])#列表
print(s1,type(s1),id(s1))
# set() <class 'set'> 140549035954736
s2=set(())#元组
print(s2,type(s2),id(s2))
# set() <class 'set'> 140549035954976
s3=set({})#字典
print(s3,type(s3),id(s3))
# t() <class 'set'> 140549035955456

访问集合中的元素

由于集合中的元素是无序的,因此无法向列表那样使用下标访问元素。Python 中,访问集合元素最常用的方法是使用循环结构,将集合中的数据逐一读取出来,或者使用 in 关键字查询集合中是否存在指定值。

sets= {11,'c',1,(1,2,3),'hello'}
for setss in sets:
    print(setss,end=' ') 
 #1 11 (1, 2, 3) c hello 

删除集合元素

使用 remove() 方法,语法格式如下:set_name.remove(element)

set1 = {11, 'hello', 1, (1, 2, 3), 'world', 'aa'}
set1.remove(11)
print(set1)
# {1, 'hello', 'world', (1, 2, 3), 'aa'}

如果删除的元素不再集合内,则会抛出 KeyError 错误

也可以使用 discard() 方法,该方法和 remove() 方法的用法完全相同,唯一的区别就是,当删除集合中元素失败时,不会抛出任何错误,但会返回原集合。

使用pop()函数随机移除集合中的一个元素

x = {"apple", "banana", "cherry"}
set.pop(x)
print(x)
# {'apple', 'cherry'}

删除集合

可以通过del()关键字删除整个集合对象

set1 = {11, 'hello', 1, (1, 2, 3), 'world', 'aa'}
print(set1)
del set1
print(set1)
# NameError: name 'set1' is not defined

向集合中添加元素

可使用set类型提供的 add() 方法实现,add() 方法添加的元素,只能是数字、字符串、元组等不可变类型或者布尔类型,不能添加列表、字典、集合等可变的数据,否则Python解释器会抛出TypeError错误。如果该元素已存在,则 add() 方法就不会添加元素

set2= {1, 2, 3}
print('添加元素之前集合的信息:',set2,type(set2),id(set2))
# {1, 2, 3} <class 'set'> 140033352959952
set2.add((1, 2))
print('添加元素后集合的信息:',set2,type(set2),id(set2))
# 添加元素后集合的信息: {(1, 2), 1, 2, 3} <class 'set'> 140033352959952

使用update()函数向当前的集合中添加集合

x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"} 
x.update(y) 
print(x)
# {'cherry', 'runoob', 'banana', 'apple', 'google'}

集合的运算

每篇一语

工欲善其事,必先利其器!

到此对于python中的序列就介绍完了,接下来还会持续更新python学习——【第N弹】

如有不足,感谢指正!

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年5月5日
下一篇 2023年5月5日

相关推荐