1.公共操作- # + 合并 将两个相同类型序列进行连接 字符串、 列表、元组
- l1 = [1, 2, 3]
- l2 = [4, 5, 6]
- print(l1+l2) # [1, 2, 3, 4, 5, 6]
复制代码
- # * 复制 将里面的数据进行复制 字符串、列表、元组
- l1 = [1, 2, 3]
- print(l1 * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
复制代码
- # len 获取序列长度 查看序列长度 字符串、列表、元组、字典,集合
- # 返回一个int类型
- print(len([1, 2, 3, 4])) # 4
复制代码
- # reversed 倒置 将容器里面的数据倒置 字符串、列表、元组、字典
- l1 = [1, 2, 3]
- print(reversed(l1)) # 是个序列 <list_reverseiterator object at 0x000001C447207040>
- print(list(reversed(l1))) # 可以转换为列表
- for i in reversed(l1): # 也可以for循环输出
- print(i)
复制代码
- # in,not in 是否存在 判断数据是否存在于容器内 字符串、列表、元组、字典,集合
- l1 = ['小明', '小芳']
- print('小' in l1) # False
- print('小明' in l1) # True
复制代码
- # del 删除 删除变量或者指定容器内数据 变量,容器里面的值
- l1 = ['小明', '小芳']
- del l1[0]
- print(l1) # ['小芳']
复制代码
- # max,min 最大最小值 求容器数据的最大最小值 字符串、列表、元组、字典,集合
- l1 = [1, 4, 2]
- print(max(l1), min(l1)) # 4 1
- # 字符串按ASCII码取大取小
- l2 = ['aa', 'ay', 'az'] # az aa
- print(max(l2), min(l2))
复制代码
- # sum 求和 将容器的数据求和 列表、元组、字典,集合
- d = {1: 2, 2: 3}
- print(sum(d)) # 对字典也可操作 key值相加
- l1 = [1, 3, 5, 7, 9]
- print(sum(l1))
复制代码
- # enumerate 枚举 索引映射 将索引映射给容器里面的数据 列表、元组、或字符串
- l1 = ['a', 'b', 'c']
- print(enumerate(l1)) # 是个序列
- # 要么转换成常见数据类型,要么for循环
- print(list(enumerate(l1))) # 不写start默认索引从0开始
- for index, data in enumerate(l1, start=5): # 索引从5开始
- print(index, data)
复制代码
2.列表推导式- # 普通写法
- # 创建列表 循环数据 添加数据 没有其他操作
- list_data = []
- for i in range(10):
- list_data.append(i)
- print(list_data)
- # 推导式写法 不是所有的代码都可以写成推导式
- # 推导式只有一种固定的操作
- # 创建列表 []
- # 循环数据 for i in range(10)
- # 添加数据 i
- list_data = [i for i in range(10)]
- print(list_data)
- # print([i for i in range(10)])
复制代码
- # 普通写法
- # 创建列表 循环数据 添加数据 没有其他操作
- list_data = []
- for i in range(10):
- list_data.append(str(i*2))
- print(list_data)
- # 推导式写法
- # 创建列表[]
- # 循环列表 for i in range(10)
- # 添加数据 i*2
- print([str(i*2) for i in range(10)])
复制代码
- # 普通写法
- # 创建列表 循环数据 添加数据位置永远在最前面
- list_data = []
- for i in range(10):
- if i%2 == 0:
- list_data.append(i)
- print(list_data) # [0, 2, 4, 6, 8]
- # 推导式写法
- # 创建列表 []
- # 循环数据 for i in range(10)
- # 添加数据位置永远在最前面 i
- # if放后面 if i%2 == 0
- print([i for i in range(10) if i%2 == 0])
复制代码
- # 普通写法
- # 创建列表 循环数据 添加数据位置永远在最前面
- list_data = []
- for i in range(10):
- if i%2 == 0:
- if i%3 == 0:
- list_data.append(i)
- print(list_data) # [0, 6]
- # 推导式写法
- # 创建列表 []
- # 循环数据 for i in range(10)
- # 添加数据位置永远在最前面 i
- # if放后面 if i%2 == 0 if i%3 == 0
- print([i for i in range(10) if i%2 == 0 if i%3 == 0])
复制代码
3.三元表达式- # 3.三元表达式
- # 一元 not not True
- # 二元 +
- # 普通写法
- age = 20
- if age>18:
- print('成年')
- else:
- print('未成年')
- # 三元表达式
- # 判断写中间 if age>18 else
- # 满足条件后的结果写前面 print('成年')
- # 不满足条件后的结果写后面 print('未成年')
- print('成年') if age>18 else print('未成年')
复制代码
- # 普通写法
- age = 20
- if age>18:
- data = 1
- else:
- data = 0
- print(data)
- # 三元表达式写法
- # 判断写中间 if age>18 else
- # 满足写前面 1 不是data=1
- # 不满足写后面 0 不是data=0
- # 注意和上面有一些不同!
- # data = 1 if age>18 else 0
- data = 1 if age>18 else 0
- print(data)
复制代码
- # 普通写法
- list_data = []
- for i in range(10):
- if i%2 == 0:
- list_data.append(i)
- else:
- list_data.append(str(i))
- print(list_data)
- # 三元表达式和列表推导式一起写
- # 创建列表 []
- # 循环列表 for i in range(10)
- # 添加数据位置永远在最前面 i if i%2 == 0 else str(i)
- # 注意添加的数据不是i,是i和str(i)中的一个
- # list_data = [i if i%2 == 0 else str(i) for i in range(10)]
- list_data = [(i if i%2 == 0 else str(i)) for i in range(10)] # 利用小括号来增加一点可读性
- print(list_data)
复制代码
- # 请用列表推导式完成1到100(不包括1和100)内所有奇数的和
- # 列表推导式写法
- list_data = [i for i in range(2, 100) if i%2 == 1]
- print(sum(list_data))
- # 普通写法
- list_data = []
- for i in range(2, 100):
- if i%2 == 1:
- list_data.append(i)
- print(sum(list_data))
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |