Python基础学习八(元组与集合)

目录

前言

一、元组

        1.什么是元组?(可变序列与不可变序列的区别)

        2.元组的创建方式

        3.元组的获取与遍历

二、集合

1.什么是集合

2.集合的创建方式

        ​3.集合的相关性操作

        4.集合间的关系

        5.集合的数学操作

        6.集合生成式


前言

        本节展示内容为:什么是元组,元组的创建方式,元组的遍历;以及集合的相关知识点!


一、元组

1.什么是元组?(可变序列与不可变序列的区别)

        元组:     

                Python内置的数据结构之一,是一个不可变序列

        不可变序列与可变序列:

                  不可变序列:字符串、元组

                         不可变序列:没有增、删、改的操作

                  可变序列:列表、字典

                         可变序列:可以对序列执行增、删、改操作,对象地址不发生更改

2.元组的创建方式

        元组的创建方式:

                (1)直接小括号

                (2)使用内置函数tuple()

                (3)只包含一个元组的元素需要使用逗号和小括号

演示代码如下:

# 第一种
a = ('a', 'b', 'c')
print(a)
print(type(a))
# 或者 省略小括号
b = 'a', 'b', 'c'
print(b)
print(type(b))
c = ('a',)
print(c)
print()

# 第二种
d = tuple(('a', 'b', 'c'))
print(d)
print(type(d))

# 空元组
e = ()
print(e)

结果如下:

3.元组的获取与遍历

        因为元组是可迭代的对象,所以可以使用for-in进行遍历

演示代码如下: 

a = ('a', 'b', 'c')

# 第一种获取元素方式
print(a[0])
print(a[1])

# 第二种,遍历
for item in a:
    print(item)

 结果:

二、集合

1.什么是集合

        集合:

                 python语言提供的内置数据结构 与列表、字典一样属于可变类型的序列

                 集合是没有value的字典

2.集合的创建方式

        集合的创建方式:         

                (1)直接使用{}

                (2)使用内置函数set()

演示代码如下:

a = {1, 2, 3, 4, 5}  # 集合中的元素不允许重复,重复时会合并为一个
print(a)

# 使用set()创建集合
b = set(range(6))
print(b, type(b))
print(set([3, 4, 5, 6]))
print(set((3, 4, 5, 6)))
print(set('python'))
print(set({1, 2, 3, 4, 5}))
print(set())

# 定义空集合
c = set()
print(c, type(c))

结果:

3.集合的相关性操作

        集合的相关性操作:         

                (1)集合的判断操作:

                        in或not in

                (2)集合的新增操作:

                        调用add(),一次添中一个元素

                        调用update()方法至少添加一个元素

                (3)集合的删除操作:

                         调用remove()方法,一次删除一个指定元素,如果指定元素不存在抛出KeyError

                         调用discard()方法,一次删除一个指定的元素,如果指定的元素不存在不抛出异常

                         调用pop()方法,一次只删除一个任意元素

                (4)集合的清空操作:

                         调用clear()方法,清空集合

演示代码如下:

d = {10, 20, 30, 40, 50, 60}
# 集合元素的判断
print(10 in d)
print(100 not in d)
print()
# 集合元素的新增
d.add(70) # 一次一个
print(d)
# update可放集合,元组,列表,但不可放单个
d.update({80, 90, 100})
print(d)
d.update([110, 120, 130])
print(d)
d.update((140, 150, 160))
print(d)
# d.update(170, 180, 190)错误
print()

# 集合的删除
d.remove(160)
print(d)
# d.remove(200) 报错
d.discard(150)
d.discard(200)
print(d)
d.pop() # 任意删除一个元素,不可加参数
print(d)

# 集合的清空
d.clear()
print(d)

结果:

4.集合间的关系

        集合间的关系:         

                (1)两个集合是否相等:

                         可以使用运算符==或者!=进行判断

                (2)一个集合是否是另一个集合的子集:

                         可以调用方法issubset进行判断

                (3)一个集合是否是另一个集合的超集:

                         可以调用方法issuperset进行判断

                (4)两个集合是否没有交集:

                         可以调用方法isdisjoint进行判断

演示代码如下:

# 集合是否相等
s = {10, 20, 30, 40}
s2 = {40, 20, 10, 30}
print(s == s2)
print(s != s2)
print()

# 一个集合是否是另一个集合的子集
a1 = {10, 20, 30, 40, 50, 60}
a2 = {10, 20, 30, 40}
a3 = {10, 20, 90}
print(a2.issubset(a1))
print(a3.issubset(a1))
print()

# 一个集合是否是另一个集合的超集
print(a1.issuperset(a2))
print(a1.issuperset(a3))
print()

# 两个集合是否含有交集
print(a2.isdisjoint(a3))  # 有交集为false
a4 = {100, 500, 600}
print(a4.isdisjoint(a2))  # 无交集为true
print()

 结果:

5.集合的数学操作

        集合的数学操作

                 (1)交集:使用intersection()或“&”

                 (2)并集:使用union()或“|”

                 (3)差集:使用difference()或“-”

                 (4)对称差集:使用symmetric_difference()

演示代码如下:

# 交集
b1 = {10, 20, 30}
b2 = {20, 30, 40}
print(b1.intersection(b2))
print(b1 & b2)
print()

# 并集
print(b1.union(b2))
print(b1 | b2)
print()

# 差集
print(b1.difference(b2))
print(b1 - b2)
print()

# 对称差集
print(b1.symmetric_difference(b2))

结果:

6.集合生成式

        集合生成式:用于生成集合的公式(与列表生成式语法相同,只是将中括号改为花括号)

代码如下:

# 列表生成式
lis = [i*i for i in range(10)]
print(lis)

# 集合生成式
o = {i*i for i in range(10)}
print(o)

结果:


版权声明:本文为qq_51794770原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。