公共运算符
运算符 | 描述 | 支持的容器类型 |
---|---|---|
+ | 合并 | 字符串、列表、元组 |
* | 复制 | 字符串、列表、元组 |
in | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 元素是否不存在 | 字符串、列表、元组、字典 |
示例:
- 字符串
str1 = 'ab'
str2 = 'cd'
print(str1 + str2) # abcd
print(str1 * 3) # ababab
print('a' in str1) # True
print('b' not in str2) # True
- 列表
list1 = [1, 2]
list2 = [10, 20]
print(list1 + list2) # [1, 2, 10, 20]
print(list1 * 3) # [1, 2, 1, 2, 1, 2]
print(1 in list1) # True
print(1 not in list2) # True
- 元组
t1 = (1, 2)
t2 = (10, 20)
print(t1 + t2) # (1, 2, 10, 20)
print(t1 * 3) # (1, 2, 1, 2, 1, 2)
print(1 in t1) # True
print(1 not in t2) # True
- 字典
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
print('name' in dict1) # True
print('name' in dict1.keys()) # True
print('Tom' in dict1.values()) # True
print('Tom' not in dict1.values()) # False
公共方法
方法名 | 描述 |
---|---|
len() | 计算容器中元素个数 |
del 或 del() | 删除 |
max() | 返回容器中元素最⼤值 |
min() | 返回容器中元素最⼩值 |
range(start, end, step) | ⽣成从start到end的数字,步⻓为 step,供for循环使⽤ |
enumerate() | 函数⽤于将⼀个可遍历的数据对象(如列表、元组或字符串)组合为⼀个索引序 列,同时列出数据和数据下标,⼀般⽤在 for 循环当中。 |
示例:
- len():获取长度
# 1. 字符串
str1 = 'abcde'
print(len(str1)) # 5
# 2. 列表
list1 = [10, 20]
print(len(list1)) # 2
# 3. 元组
t1 = (10, 20, 30, 40, 50)
print(len(t1)) # 5
# 4. 集合
s1 = {10, 20, 30}
print(len(s1)) # 3
# 5. 字典
dict1 = {'name': 'Tom', 'age': 18}
print(len(dict1)) # 2
- del / del():删除
# 1.字符串
str1 = 'abcde'
del str1
print(str1) # 报错,因为变量str1已经被删除# 2.列表
list1 = [1, 2, 3]
del list1[0]
print(list1) # [2, 3]# 3.字典
dist1 = {'name': 'Tom', 'age': 18}
del dist1['age']
print(dist1) # {'name': 'Tom'}
- max() / min():获取最大/最小值
str1 = 'abcde'
list1 = [1, 2, 3]
t1 = (10, 20, 30)
print(max(str1)) # e
print(min(str1)) # a
print(max(list1)) # 3
print(min(list1)) # 1
print(max(t1)) # 30
print(min(t1)) # 10
- range():自动顺序范围内的数值
for i in range(1, 10, 1):print(i) # 1 2 3 4 5 6 7 8 9for i in range(1, 10, 2):print(i) # 1 3 5 7 9for i in range(10):print(i) # 0 1 2 3 4 5 6 7 8 9
- enumerate():让可迭代对象在遍历时有index
语法:
enumerate(可遍历对象, start = 0) # start 参数用来设置遍历数据下标的起始位置,默认0。
示例:
list1 = ['a', 'b', 'c', 'd', 'e']
for obj in enumerate(list1):print(obj)for index, char in enumerate(list1, start=0):print(f'下标是{index}, 对应的字符是{char}')
列表、元组、集合的类型转换
- list():将元组、集合类型转成列表类型。
- tuple():将列表、集合类型转成元组类型。
- set():将列表、元组类型转成集合类型。
示例:
list1 = [1, 2, 3]
tuple1 = (1, 2, 3)
set1 = {1, 2, 3}
print(type(list1)) # <class 'list'>
print(type(tuple1)) # <class 'tuple'>
print(type(set1)) # <class 'set'># 元组、集合 转 列表
print(type(list(tuple1))) # <class 'list'>
print(type(list(set1))) # <class 'list'># 列表、集合 转 元组
print(type(tuple(list1))) # <class 'tuple'>
print(type(tuple(set1))) # <class 'tuple'># 列表、元组 转 集合
print(type(set(list1))) # <class 'set'>
print(type(set(tuple1))) # <class 'set'>
内置函数 zip()
Python 内置函数 zip() 用于将多个可迭代(迭代的意思是可以遍历)对象(如列表、元组等)“打包”成一个元组的迭代器。zip() 会按照最短的可迭代对象长度进行配对,创建一个个包含来自每个可迭代对象对应位置元素的元组。可以将这些元组解包成独立的变量。
语法:
zip(*iterables)
示例一:将两个列表打包成一个元组迭代器。
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped)) # 输出: [(1, 'a'), (2, 'b'), (3, 'c')]
示例二:将三个列表(集合、元组)打包成一个元组迭代器
list1 = [1, 2, 3]
set2 = {'a', 'b', 'c'}
t3 = (0.1, 0.2, 0.3)
zipped = zip(list1, set2, t3)
print(list(zipped)) # 输出: [(1, 'a', 0.1), (2, 'b', 0.2), (3, 'c', 0.3)]
示例三:不同长度的可迭代对象
list1 = [1, 2, 3, 4]
list2 = ['a', 'b']
zipped = zip(list1, list2)
print(list(zipped)) # 输出: [(1, 'a'), (2, 'b')] 只取最短的长度
示例四:解压缩已打包的元组迭代器
zipped = [(1, 'a'), (2, 'b'), (3, 'c')]
unzipped = zip(*zipped)
list1, list2 = list(unzipped)
print(list1) # 输出: (1, 2, 3)
print(list2) # 输出: ('a', 'b', 'c')