+
- 合并
- 字符串、列表、元组
字符串 +
字符串1 + 字符串2
# 字符串 +
str1 = 'aa'
str2 = 'bb'
print(str1 + str2)
输出结果
aabb
列表 +
列表1 + 列表2
# 列表 +
list1 = ['aa', 'bb']
list2 = ['cc', 'dd']
print(list1 + list2)
输出结果
['aa', 'bb', 'cc', 'dd']
元组 +
元组1 + 元组2
# 元组 +
tuple1 = (10, 20)
tuple2 = (30, 40)
print(tuple1 + tuple2)
输出结果
(10, 20, 30, 40)
*
- 复制
- 字符串、列表、元组
字符串 *
字符串 * num(num为复制的次数)
str1 = 'a'
print(str1 * 5)
输出结果
aaaaa
列表 *
列表 * num(num为复制的次数)
# 列表 *
list1 = ['aa', 'bb']
print(list1 * 5)
输出结果
['aa', 'bb', 'aa', 'bb', 'aa', 'bb', 'aa', 'bb', 'aa', 'bb']
元组 *
元组 * num(num为复制的次数)
# 元组 *
tuple1 = (10, 20)
print(tuple1 * 5)
输出结果
(10, 20, 10, 20, 10, 20, 10, 20, 10, 20)
in 和not in
元素 in 字符串(列表、元组、字典)
元素 not in 字符串(列表、元组、字典)
- 元素是否在序列中
- 字符串、列表、元组、集合
字符串、列表、元组 in 和not in
# 字符串
st1 = 'abcd'
print('a' in str1)
print('a' not in str1)
# 列表
list1 = ['a', 'b', 'c', 'd']
print('a' in list1)
print('a' not in list1)
# 元组
tuple1 = ('a', 'b', 'c', 'd')
print('a' in tuple1)
print('a' not in tuple1)
输出结果
True
False
True
False
True
False
字典 in 和not in
# 字典 字典判断的in和not in相当云dict.keys
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
# key
print('name' in dict1) # dict1相当于dict1.keys()
print('name' not in dict1)
# value
print('Tom' in dict1.values())
print('Tom' not in dict1.values())
# tuple
print(('name', 'Tom') in dict1.items())
print(('name', 'Tom') not in dict1.items())
输出结果
True
False
True
False
True
False
len
len(字符串、列表、元组、集合、字典)
- 统计序列的长度,即元素的个数
# 字符串
str1 = 'abcd'
print(len(str1))
# 列表
list1 = ['a', 'b', 'c', 'd', 'e']
print(len(list1))
# 元组
tuple1 = ('a', 'b', 'c')
print(len(tuple1))
# 集合
set1 = {10, 20, 30}
print(len(set1))
# 字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(len(dict1))
输出结果
4
5
3
3
3
del
del 字符串、列表、元组、集合、字典 # 删除整个序列
del 字符串[下标]、列表[下标]、元组[下标]、字典[key] # 删除序列中的一个元素
- 删除一个序列或删除序列中的一个元素
删除序列
# del 删除序列或序列中的一个元素
str1 = 'abc'
del str1
print(str1) # del删除字符串后,字符串就不存在了,报错
输出结果
Traceback (most recent call last):
File "/Users/apple/Desktop/code/016-公共方法.py", line 88, in <module>
print(str1)
NameError: name 'str1' is not defined
删除一个元素
list1 = [10, 20, 30, 40]
print(list1)
del list1[1]
print(list1)
输出结果
[10, 20, 30, 40]
[10, 30, 40]
max 和 min
max(序列)
min(序列)
- max 返回容器中的最大值
- min 返回容器中的最小值
# max和min
list1 = [10, 20, 30, 40]
print(max(list1))
print(min(list1))
输出结果
40
10
range
range(start,end,step)
- 生成从start到end的数字列表,步长为step,供for循环使用
- step可以不写,默认为1
- start可以不写,默认为0
- 生成的序列不包含end
# range
for i in range(1, 10, 1):
print(i, end=' ')
print()
for i in range(1, 10):
print(i, end=' ')
print()
for i in range(10):
print(i, end=' ')
print()
输出结果
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
enumerate
enumerate(可遍历对象,start = 开始索引)
- 将一个可遍历的数据对象组合成一个索引序列,同时列出数据和数据下标,一般在for循环中使用
# enumerate
list1 = ['a', 'b', 'c', 'd']
for i in enumerate(list1):
print(i)
for i in enumerate(list1, 1):
print(i)
for key, value in enumerate(list1):
print(f'{key} = {value}')
输出结果
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
0 = a
1 = b
2 = c
3 = d
推导式
列表推导式
- 用一个表达式创建一个有规律的列表或控制一个有规律的列表
- 列表推导式,又叫列表生成式
使用while循环,创建一个列表
# while循环创建一个列表
i = 0
list1 = []
while i < 10:
list1.append(i)
i += 1
print(list1)
输出结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for循环创建列表
# for循环创建列表
list1 = []
for i in range(10):
list1.append(i)
print(list1)
输出结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
简单的列表推导式
- 列表推导式就是for循环创建列表的简写形式
[i for i in range(开始,结束,步长)]
# 列表推导式
list1 = [i for i in range(1, 10, 2)]
print(list1)
输出结果
[1, 3, 5, 7, 9]
带if的列表推导式
# 带if的列表推导式
list1 = [i for i in range(1, 10) if i % 2 != 0]
print(list1)
输出结果
[1, 3, 5, 7, 9]
多个for的列表推导式
# 多for列表多推导式
list1 = [(i, j) for i in range(2) for j in range(3)]
print(list1)
输出结果
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]
字典推导式
- 快速生成字典
- 可以根据一个变量生成字典,也可以将两个列表合成一个字典
简单的字典推导式
# 字典推导式
dict1 = {key: key ** 2 for key in range(1, 4)}
print(dict1)
输出结果
{1: 1, 2: 4, 3: 9}
合并两个列表为一个字典推导式
- 如果两个字典长度不一致,应选取长度小的
- 长度不一致,选取长的,会报错处理
# 将两个列表,合并为一个字典
list1 = ['name', 'age', 'gender']
list2 = ['Tom', 20, '男']
dict1 = {list1[i]: list2[i] for i in range(len(list1))}
print(dict1)
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
提取字典中的数据
# 提前字典中的目标数据
dict1 = {'TianJin': 87, 'BeiJing': 112, 'ShangHai': 143, 'Shenzhen': 156, 'HeBei': 89}
dict2 = {key: value for key, value in dict1.items() if value >= 100}
print(dict2)
输出结果
{'BeiJing': 112, 'ShangHai': 143, 'Shenzhen': 156}
集合推导式
- 集合有去重的特性
# 集合推导式
list1 = [1, 2, 3, 4, 3, 2, 1]
set1 = {i for i in list1}
print(set1)
set1 = {i ** 2 for i in list1}
print(set1)
输出结果
{1, 2, 3, 4}
{16, 1, 4, 9}
网友评论