python基础学习(5)

元组的创建方式

#第一种创建方式,直接使用小括号
t=(10,20,30,40,'hello')
print(t)
#(10, 20, 30, 40, 'hello')

#第二种创建方式,使用tuple()内置函数
t1=tuple((10,20,30,40,'hello'))
print(t1)
#(10, 20, 30, 40, 'hello'

集合的创建方式

s={
    
    1,2,3,3,4,4,5}
print(s)
#{1, 2, 3, 4, 5}

#第二种创建方式
s1=set(range(6))
print(s1)
#{0, 1, 2, 3, 4, 5}

s2=set([1,2,3,4,5,6])
print(s2)
#{1, 2, 3, 4, 5, 6}

集合的相关操作

1.集合元素的新增操作

  • 使用add
s={
    
    1,2,3,4,5,6}
s.add(100)
print(s)
#{1, 2, 3, 4, 5, 6, 100}

  • 使用update,一次增加多个元素
s={
    
    1,2,3,4,5,6}
s.update([10,20,30])
print(s)
#{1, 2, 3, 4, 5, 6, 10, 20, 30}

2.集合元素的删除操作

  • 调用remove()方法,一次删除一个指定元素,如果指定元素不存在会抛出异常
s={
    
    1,2,3,4,5,6}
s.remove(1)
print(s)
#{2, 3, 4, 5, 6}

  • 调用discard()方法,一次删除一个指定元素,如果指定的元素不存在不会抛出异常
s={
    
    1,2,3,4,5,6}
s.discard(100)
print(s)
#{1,2, 3, 4, 5, 6}
  • 调用pop()方法,一次只删除一个任意元素
s={
    
    1,2,3,4,5,6}
s.pop() #随机删除
print(s)
#{2, 3, 4, 5, 6}
  • 清空集合clear()
s={
    
    1,2,3,4,5,6}
s.clear() 
print(s)
#set()

集合间的关系

1.一个集合是否是另一个集合的子集
可以调用方法issubset进行判断

s={
    
    1,2,3,4,5,6}
s2={
    
    1,2,3}
s3={
    
    1,2,99}
print(s2.issubset(s))#True
print(s3.issubset(s))#false

2.一个集合是否是另一个集合的超集
可以调用方法issubperset进行判断

s={
    
    1,2,3,4,5,6}
s2={
    
    1,2,3}
s3={
    
    1,2,99}
print(s.issuperset(s2))#true
print(s.issuperset(s3))#false

3.两个集合是否没有交集
可以调用方法isdisjoint进行判断

s={
    
    1,2,3,4,5,6}
s2={
    
    1,2,3}
s3={
    
    1,2,99}
print(s2.isdisjoint(s3))#False  有交集

集合的数学操作

1.交集

s1={
    
    10,20,30,40}
s2={
    
    10,30,40,50}
print(s1.intersection(s2))
#{40, 10, 30}
#或者
print(s1 & s2)
#{40, 10, 30}

2.并集操作

s1={
    
    10,20,30,40}
s2={
    
    10,30,40,50}
print(s1.union(s2)) #去除重复合并
#{40, 10, 50, 20, 30}
#或者
print(s1 | s2)
#{40, 10, 50, 20, 30}

3.差集操作

s1={
    
    10,20,30,40}
s2={
    
    10,30,40,50}
print(s1.difference(s2))
#{20}
#或者
print(s1-s2)
#{20}

4.对称差集

s1={
    
    10,20,30,40}
s2={
    
    10,30,40,50}
print(s1.symmetric_difference(s2))
#{50, 20}
#或者
print(s1 ^ s2)
#{50, 20}

集合生成式

1.用于生成集合的公式

s1={
    
    i*i for i in range(10)}
print(s1)
#{0, 1, 64, 4, 36, 9, 16, 49, 81, 25}

猜你喜欢

转载自blog.csdn.net/weixin_45291045/article/details/110286523