Python中元组和集合的介绍 -*- Python基础知识07 -*-

元组的创建以及使用方法

元组(tuple)不可变序列,元组可以存放任意类型的对象,包括可变序列也可以存放,并且在元组中的可变序列正常可变。元组只要求内部元素的id不变即可。

元组的创建

  1. 使用()创建
  2. 直接任意变量值之后加逗号数据及会自动转变为元组
my_tuple = ()
my_typle = 0,
a = [1,2,3],
print(a,type(a)# ([1, 2, 3],) <class 'tuple'>

元组的解包

将元组中的元素一一赋值给一个变量,如果变量少于元素则可以选择一个变量前加*,多的值会以列表的形式返回给这个带的变量,如果变量和元素不是一一对应的,也没有变量加,则程序报错

my_tuple = 1,2,3,4,5,6,7,8
a,b,*c = my_tuple
print(a,b,c) # 1 2 [3, 4, 5, 6, 7, 8]
a,*b,c = my_tuple
print(a,b,c) # 1 [2, 3, 4, 5, 6, 7] 8
*a,b,c = my_tuple
print(a,b,c) # [1, 2, 3, 4, 5, 6] 7 8

元组的使用方法

在元组中存放可变对象,可变对象不会受到元组影响,还是可变,且变化之后元组不会报错

a = [1,2,3],
a[0][1] = 1
print(a,type(a)) # ([1, 1, 3],) <class 'tuple'>

元组注意事项

在Python3.7之前比如3.6版本中,如果写两个元组元素相同的变量,id是不同的,但是在3.7版本之后如果写两个元组元素相同的变量,那id值也是相同的。

a = 1,2
b = 1,2
print(id(a),id(b)) 
# 在Python3.6中,得到两个不同的id
# 在Python3.7中,得到两个相同的id

集合的创建以及使用方法

集合(set)在python使用情况较少,和数学中的集合有很多相似之处,和列表(list)也有不少相似之处。
定义{data,data,data}

集合的属性

  1. 集合当中只能储存不可变对象。
  2. 集合中储存的对象是无序的(不是按照元素的插入顺序进行保存的)。
  3. 集合中不能出现重复元素,出现重复元素时,会自动合并。
  4. 集合没有索引值,所以不能用索引的方法获取到集合的值,想要对集合索引可以将集合转变成列表等其他数据类型。

集合的创建方法

  1. 使用{}来创建
    注:{}方法不能用来创建一个空集合,对变量赋值一个{}后变量会变成字典(dict)类型的格式
  2. 使用set()函数来创建
    set()函数可以将序列、字典等类型转换成集合,当set()将字典转换成集合时,集合中只包括字典中的键(key)
s = {1,2,3,4,5}
s1 = set()
s2 = set((1,2,3))
s3 = set({'name':'寻觅','python':1})
print(s,type(s),s1,type(s1),s2,s3) # {1, 2, 3, 4, 5} <class 'set'> set() <class 'set'> {1, 2, 3} {'name', 'python'}

集合的内置方法

方法 作用
set.add(data) 将一个新元素添加给集合
set1.update(set2) 讲set2中的元素添加到set1中
set.remove() 删除一个指定的元素
set.pop() 随机删除一个元素
set.clear() 清空集合
s = {1,2,3,4,5}
s1 = set({'name':'寻觅','python':1})
s.add('python')
print(s) # {1, 2, 3, 4, 5, 'python'}
s.update(s1)
print(s) # {1, 2, 3, 4, 5, 'name', 'python'}
s.remove(5)
print(s) # {1, 2, 3, 4, 'name', 'python'}
a = s.pop()
print(a, s) # 1 {2, 3, 4, 'name', 'python'}
s.clear()
print(s) # set()

集合的运算

符号 作用
& 交集运算
| 并集运算
- 差集运算
^ 亦或集
< 检查是否为真子集
<= 检查是否为子集
> 检查是否为真超集
>= 检查是否为超集
s1 = {1,2,3,4,5,6}
s2 = {3,4,5,6,7,8}
s3 = {3,4,5,6}
s = s1 & s2
print(s) # {3, 4, 5, 6}
s = s1 | s2
print(s) # {1, 2, 3, 4, 5, 6, 7, 8}
s = s1 - s2
ss = s2 - s1
print(s, ss) # {1, 2} {8, 7}
s = s1 ^ s2
print(s) # {1, 2, 7, 8}
s = s1 < s3
ss = s1 <= s3
print(s, ss) # False False 
s = s1 > s3
ss = s1 >= s3
print(s) # True True
发布了47 篇原创文章 · 获赞 23 · 访问量 3439

猜你喜欢

转载自blog.csdn.net/qq_39611230/article/details/102577450