一、运算符
运算符 | 描述 | 支持的容器类型 |
---|---|---|
+ | 合并 | 字符串、列表、元组 |
* | 复制 | 字符串、列表、元组 |
in | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 元素是否不存在 | 字符串、列表、元组、字典 |
合并:
# 字符串
str1 = 'Hello'
str2 = 'Word'
# 列表
list1 = [10, 20, 30]
list2 = [100, 200, 300]
# 元组
tuple1 = (10, 20, 30)
tuple2 = (100, 200, 300)
# +(合并)
print(str1+str2) # HelloWord
print(list1+list2) # [10, 20, 30, 100, 200, 300]
print(tuple1+tuple2) # (10, 20, 30, 100, 200, 300)
out:
HelloWord
[10, 20, 30, 100, 200, 300]
(10, 20, 30, 100, 200, 300)
复制
# * (复制)
# 字符串
str1 = 'Hello'
str2 = 'Word'
# 列表
list1 = [10, 20, 30]
list2 = [100, 200, 300]
# 元组
tuple1 = (10, 20, 30)
tuple2 = (100, 200, 300)
print(str1*5) # HelloHelloHelloHelloHello str1复制了五份
print(list1*2) # [10, 20, 30, 10, 20, 30]
print(tuple1*3) # (10, 20, 30, 10, 20, 30, 10, 20, 30)
out:
HelloHelloHelloHelloHello
[10, 20, 30, 10, 20, 30]
(10, 20, 30, 10, 20, 30, 10, 20, 30)
是否存在 :in/not in
print('H' in str1) # True
print('H' not in str2) # True
print(10 in list1) # True
print(10 in tuple1) # True
print('name' in dict1) # True
二、公共方法
函数 | 描述 |
---|---|
len() | 计算容器中元素个数 |
del/del() | 删除容器,或删除容器中指定数据 |
max() | 返回容器中元素最大值 |
min() | 返回容器中元素最小值 |
range(start,end,step) | 生成从start到end,步长为step的数字序列,供for循环使用 |
enumerate() | 将可以遍历的对象,组合成一个索引序列,同时列出数据下标和数据,一般用在for循环当中 |
# 字符串
str1 = 'Hello'
# 列表
list1 = [10, 20, 30]
# 元组
tuple1 = (10, 20, 30)
# 字典
dict1 = {'name': 'Lily'}
# 集合
set1 = {10, 20, 30}
# len()
print(len(str1)) # 5
print(len(list1)) # 3
print(len(tuple1)) # 3
print(len(dict1)) # 1
print(len(set1)) # 3
字符串、列表、元组、字典、集合都可以使用del方法。
删除字符串时不能根据下标删除元素,‘str’ object doesn’t support item deletion
# 字符串
str1 = 'Hello'
# 列表
list1 = [10, 20, 30]
# 元组
tuple1 = (10, 20, 30)
# 字典
dict1 = {'name': 'Lily'}
# 集合
set1 = {10, 20, 30}
del str1
print(str1) # 删除成功会打印 NameError: name 'str1' is not defined
del list1[0]
print(list1) # [20, 30]
del tuple1
del dict1
del set1
# max() / min()
# 字符串
str1 = 'Hello'
print(max(str1)) # o
print(min(str1)) # H
# 列表
list1 = [10, 20, 30]
print(max(list1)) # 30
print(min(list1)) # 10
# 元组
tuple1 = (10, 20, 30)
print(max(tuple1)) # 30
print(min(tuple1)) # 10
# 字典
dict1 = {'name': 'Lily', 'age': 18}
print(max(dict1)) # name
print(min(dict1)) # age
# 集合
set1 = {10, 20, 30}
print(max(set1)) # 30
print(min(set1)) # 10
'''
### range ###
1、range(start,end,step)
2、range生成的数字序列不包括end数字
'''
# 不填写步长,步长默认为1
for i in range(1, 10):
print(i) # 1 2 3 4 5 6 7 8 9
# 数字间隔为2
for i in range(1, 10, 2):
print(i) # 1 3 5 7 9
# end=10, start省略,则从0开始,step省略,步长默认为1
for i in range(10):
print(i) # 0 1 2 3 4 5 6 7 8 9
遍历enumerate(序列),返回元组数据,元组里面是元素和元素对应的下标
'''
### enumerate 枚举###
1、enumerate(sequence, start=0)
2、start用来设置遍历下标的起始值,默认为0
3、sequence为序列或可迭代对象
'''
str1 = 'Hello'
for i in enumerate(str1):
print(i)
# 输出一组元组,元组第一个元素为数据的下标,第二个元素为数据
# (0, 'H')
# (1, 'e')
# (2, 'l')
# (3, 'l')
# (4, 'o')
# 设置下标起始为1,有些业务人员习惯1为起始
list1 = [10, 20, 30]
for i in enumerate(list1, start=1):
print(i)
# (1, 10)
# (2, 20)
# (3, 30)
# 分别取出数据和数据的下标
list1 = [10, 20, 30]
for index, data in enumerate(list1, start=1):
print(f'{index},{data}')
# 1,10
# 2,20
# 3,30
三、容器类型转换
'''
# 容器类型转换
1、tuple: 将一组序列转换成元组
2、list: 将一组序列转换成列表
3、set: 将一组序列转换成集合
'''
tuple1 = (10, 20, 30)
list1 = [100, 200, 100, 500]
set1 = {'a', 'b', 'c', 'a'}
# tuple
print(tuple(list1)) # (100, 200, 100, 500)
print(tuple(set1)) # ('b', 'c', 'a') set自动去重后转换成元组
# list
print(list(tuple1)) # [10, 20, 30]
print(list(set1)) # ['c', 'a', 'b']
# set
print(set(tuple1)) # {10, 20, 30}
print(set(list1)) # {200, 100, 500}