1. 元祖
1-1. 元祖的创建
- Python的元组与列表类似,不同之处在于元组的元素不能修改。
- 元组使用小括号,列表使用方括号。
- 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
- 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
tup1 = (1,'郭靖', '黄蓉')
tup2 = 1,'小龙女', [1,2] # 不加括号也可以直接创建元祖
print(tup1,tup2)
# (1, '郭靖', '黄蓉') (1, '小龙女', [1, 2])
tup3 = (4)
print(type(tup3))
# <class 'int'>
# 当创建的元祖,只有一个元素是,后面要加逗号,否则()则会被当成运算符
1-2. 元祖的操作
- 元祖不能修改,当然包括不能删除。但是可以删除整个元祖
del tup 可以删除整个元祖
- 元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
(‘Hi!’,) * 4 | (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’) | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): print (x,) | 1 2 3 | 迭代 |
- 元组索引,截取(同字符串和列表一样,有下标和切片)
1-3. 元组内置函数
Python元组包含了以下内置函数
方法及描述 | 实例 |
---|---|
len(tuple) 计算元组元素个数。 |
>>> tuple1 = (‘Google’, ‘Runoob’, ‘Taobao’) |
len(tuple1) 3 | | max(tuple)
返回元组中元素最大值。 | >>> tuple2 = (‘5’, ‘4’, ‘8’) max(tuple2) ‘8’ | | min(tuple)
返回元组中元素最小值。 | >>> tuple2 = (‘5’, ‘4’, ‘8’) min(tuple2) ‘4’ | | tuple(iterable)
将可迭代系列转换为元组。 | >>> list1= [‘Google’, ‘Taobao’, ‘Runoob’, ‘Baidu’] tuple1=tuple(list1) tuple1 (‘Google’, ‘Taobao’, ‘Runoob’, ‘Baidu’) |
2. 集合
2-1. 集合的创建
- 集合(set)是一个无序的不重复元素序列。
- 可以使用大括号 { } 或者 set() 函数创建集合,
- 注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
set1 = {'郭靖', '杨过', '黄蓉', '小龙女'}
set2 = set('杨康')
set3 = set('1"黄药师""洪七公"2')
print(set1, set2, set3)
# {'小龙女', '黄蓉', '杨过', '郭靖'} {'杨', '康'} {'黄', '师', '公', '七', '"', '1', '药', '洪', '2'}
2-2. 集合的基本操作
- 添加元素
- set.add()
- 还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等:set.update( x )
- 移除元素
- set.remove(x) 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
- set.discard( x ) 也是移除集合中的元素,且如果元素不存在,不会发生错误
- set.pop() 随机删除集合中的一个元素.
- set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
- 计算元素个数
- len(set)
- 清空
- set.clear()
- 判断元素是否存在
- x in set;判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
set1 = {'郭靖', '杨过', '黄蓉', '小龙女'}
# 1. 添加元素
set1.add('老顽童')
print(set1) # {'杨过', '郭靖', '老顽童', '黄蓉', '小龙女'}
set1.update(['九阴真经','华山论剑'])
print(set1)
# {'老顽童', '郭靖', '九阴真经', '黄蓉', '小龙女', '华山论剑', '杨过'}
2-3. 集合的特点
my_list = [1,1,1]
my_list = list(set(my_list))
print('list转set后去重复: my_list = ', my_list)
my_set = {1,1,3}
print(my_list)
print(my_set,'\n')
set1 = {1,2,3,4}
set2 = {1,2,5,6}
print('set1= ', set1)
print('set2= ', set2, '\n')
执行结果:
'''
list转set后去重复: my_list = [1]
[1]
{1, 3}
set1= {1, 2, 3, 4}
set2= {1, 2, 5, 6}
'''
#差集
print('差集, set1-set2,set2-set1')
print('set1-set2= ',set1-set2)
print('set2-set1= ',set2-set1, '\n' )
'''
差集, set1-set2,set2-set1
set1-set2= {3, 4}
set2-set1= {5, 6}
'''
#并集
print('并集, set1 | set2')
print('set1 | set2= ', set1 | set2, '\n')
'''
并集, set1 | set2
set1 | set2= {1, 2, 3, 4, 5, 6} '''
#交集
print('交集, set1 & set2')
print('set1 & set2= ', set1 & set2, '\n')
''' 交集, set1 & set2
set1 & set2= {1, 2} '''
#反交集
print('反交集, set1 ^ set2 除了交集外的元素,相当于并集-交集')
print(set1 ^ set2)
'''
反交集, set1 ^ set2 除了交集外的元素,相当于并集-交集
{3, 4, 5, 6}'''