目录
Python的元组(tuple)与列表类似,不同之处在于不能修改元组的元素,元组使用圆括号包含元素,而列表使用方括号包含元素。
1、元组的创建和访问
1.1、创建元组
创建元组常用的方法是将逗号分隔的不同元素用圆括号括起来,也可省略圆括号,直接使用逗号分隔元素。如果要定义一个空元组,可以使用没有元素的空圆括号来表示,例:x()
- tuple1=('a','b',1,2)
- # tuple1='a','b',1,3
- print(tuple1)
1.2、访问元组
和列表类似,可以使用下标索引来访问元组的元素。由于元组是不可变序列,所以元组无法执行添加、修改和删除等操作。
- tuple1=('a','b',1,2)
- print(tuple1[0])
- # tuple1[0]=0
- # print(tuple1) error报错 元组不能通过下标修改元素
2、元组的合并和遍历
2.1、合并元组
元组中的元素是不允许修改的,但是可以对元组进行连接组合。
- #合并元组
- tuple2=('c','d',3,4)
- tuple3=tuple1+tuple2
- print(tuple3)
2.2、遍历元组
- #遍历元组
- for e in tuple3:
- print(e,end=' ')
- print()
- print("===============================")
-
- for e in range(0,len(tuple3)):
- if e<len(tuple3)-1:
- print(tuple3[e],end=',')
- else:
- print(tuple3[e])
-
- '''
- a b 1 2 c d 3 4
- ===============================
- a,b,1,2,c,d,3,4
- '''
转换为元组类型:
- #tuple()可以将其他数据类型转换成元组类型
- #例:将字符串转换成元组
- str='hello'
- print(tuple(str)) #('h', 'e', 'l', 'l', 'o')
3、集合
集合与其他数据类型最大的不同在于它不包含重复元素,即集合元素是独一无二的。因此,当需要对一堆数据进行去重处理时,一般可通过集合来完成。
3.1、集合的创建
创建集合只需将逗号分隔的不同元素使用大括号括起来即可
- #集合特点:去重,无序
- arr={2,1,3,4,4}
- print(arr) #{1, 2, 3, 4}
3.2、添加和删除元素
- #add()添加元素
- arr2={1,2,3}
- arr2.add(4)
- print(arr2) #{1, 2, 3, 4}
-
- #update合并集合T的元素到当前集合S中,并自动去重
- arr2.update({4,5,6})
- print(arr2) #{1, 2, 3, 4, 5, 6}
-
- #pop()随机删除并返回集合中的一个元素,如果集合为空则抛出异常
- print(arr2.pop()) #1
- print(arr2) #{2, 3, 4, 5, 6}
-
- #discard(x)如果x在集合中,则删除该元素。如果x不存在也不报错
- arr2.discard(6)
- print(arr2) #{2, 3, 4, 5}
-
- #remove(x)如果x在集合中,则删除该元素,否则抛出异常
- arr2.remove(5)
- print(arr2) #{2, 3, 4}
-
- #clear()清空集合
- arr2.clear()
- print(arr2) #set()
3.3、集合运算
内置函数len()、max()、min()、sorted()等也适用于集合,此外,Python中集合还支持数学意义上的交集、并集、差集、补集等运算。
- #操作符
- a={1,2,3}
- b={2,3,4,5,6}
- #交集 同时在两个集合中都有的元素
- print(a & b) #{2, 3}
- #并集 两个集合的所有元素
- print(a | b) #{1, 2, 3, 4, 5, 6}
- #差集 包含在a但不在b的元素
- print(a - b) #{1}
- #补集 包含集合a和b中的元素,但不包含同时在集合a和b中的元素
- print(a ^ b) #{1, 4, 5, 6}
-
- c={1,2,3}
- d={2,3}
- e={1,2,4}
- f={1,2}
- #>= 如果c和d相同或c是d的超集,返回True,否则返回False。可以使用c>d判断c是否是d的真超集
- print(c>=d) #True
- #<= 如果c和e相同或c是e的子集,返回True,否则返回False,可以使用c
- print(c<=e) #False
转换为集合类型:
- #set()可以将其他类型数据转换成集合类型
- #例:将字符串转换成集合
- str='hello'
- print(set(str)) #{'e', 'o', 'l', 'h'}