ToB企服应用市场:ToB评测及商务社交产业平台

标题: python中的公共操作与列表推导式 [打印本页]

作者: 铁佛    时间: 2022-12-2 23:18
标题: python中的公共操作与列表推导式
1.公共操作
  1. # + 合并 将两个相同类型序列进行连接 字符串、 列表、元组
  2. l1 = [1, 2, 3]
  3. l2 = [4, 5, 6]
  4. print(l1+l2)  # [1, 2, 3, 4, 5, 6]
复制代码

 
 
  1. # * 复制 将里面的数据进行复制 字符串、列表、元组
  2. l1 = [1, 2, 3]
  3. print(l1 * 3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]
复制代码

 
 
  1. # len 获取序列长度 查看序列长度 字符串、列表、元组、字典,集合
  2. # 返回一个int类型
  3. print(len([1, 2, 3, 4]))  # 4
复制代码

 
 
  1. # reversed 倒置 将容器里面的数据倒置 字符串、列表、元组、字典
  2. l1 = [1, 2, 3]
  3. print(reversed(l1))  # 是个序列 <list_reverseiterator object at 0x000001C447207040>
  4. print(list(reversed(l1)))  # 可以转换为列表
  5. for i in reversed(l1):  # 也可以for循环输出
  6.     print(i)
复制代码

 
 
  1. # in,not in 是否存在 判断数据是否存在于容器内 字符串、列表、元组、字典,集合
  2. l1 = ['小明', '小芳']
  3. print('小' in l1)  # False
  4. print('小明' in l1)  # True
复制代码

 
 
  1. # del 删除 删除变量或者指定容器内数据 变量,容器里面的值
  2. l1 = ['小明', '小芳']
  3. del l1[0]
  4. print(l1)  # ['小芳']
复制代码

 
 
  1. # max,min 最大最小值 求容器数据的最大最小值 字符串、列表、元组、字典,集合
  2. l1 = [1, 4, 2]
  3. print(max(l1), min(l1))  # 4 1
  4. # 字符串按ASCII码取大取小
  5. l2 = ['aa', 'ay', 'az']  # az aa
  6. print(max(l2), min(l2))
复制代码

 
 
  1. # sum 求和 将容器的数据求和 列表、元组、字典,集合
  2. d = {1: 2, 2: 3}
  3. print(sum(d))  # 对字典也可操作 key值相加
  4. l1 = [1, 3, 5, 7, 9]
  5. print(sum(l1))
复制代码

 
 
  1. # enumerate 枚举 索引映射 将索引映射给容器里面的数据 列表、元组、或字符串
  2. l1 = ['a', 'b', 'c']
  3. print(enumerate(l1))  # 是个序列
  4. # 要么转换成常见数据类型,要么for循环
  5. print(list(enumerate(l1)))  # 不写start默认索引从0开始
  6. for index, data in enumerate(l1, start=5):  # 索引从5开始
  7.     print(index, data)
复制代码

 
 
2.列表推导式
  1. # 普通写法
  2. # 创建列表 循环数据 添加数据 没有其他操作
  3. list_data = []
  4. for i in range(10):
  5.     list_data.append(i)
  6. print(list_data)
  7. # 推导式写法  不是所有的代码都可以写成推导式
  8. # 推导式只有一种固定的操作
  9. # 创建列表 []
  10. # 循环数据 for i in range(10)
  11. # 添加数据 i
  12. list_data = [i for i in range(10)]
  13. print(list_data)
  14. # print([i for i in range(10)])
复制代码

 
 
  1. # 普通写法
  2. # 创建列表 循环数据 添加数据 没有其他操作
  3. list_data = []
  4. for i in range(10):
  5.     list_data.append(str(i*2))
  6. print(list_data)
  7. # 推导式写法
  8. # 创建列表[]
  9. # 循环列表 for i in range(10)
  10. # 添加数据 i*2
  11. print([str(i*2) for i in range(10)])
复制代码

 
 
  1. # 普通写法
  2. # 创建列表 循环数据 添加数据位置永远在最前面
  3. list_data = []
  4. for i in range(10):
  5.     if i%2 == 0:
  6.         list_data.append(i)
  7. print(list_data)  # [0, 2, 4, 6, 8]
  8. # 推导式写法
  9. # 创建列表 []
  10. # 循环数据 for i in range(10)
  11. # 添加数据位置永远在最前面 i
  12. # if放后面  if i%2 == 0
  13. print([i for i in range(10) if i%2 == 0])
复制代码

 
 
  1. # 普通写法
  2. # 创建列表 循环数据 添加数据位置永远在最前面
  3. list_data = []
  4. for i in range(10):
  5.     if i%2 == 0:
  6.         if i%3 == 0:
  7.             list_data.append(i)
  8. print(list_data)  # [0, 6]
  9. # 推导式写法
  10. # 创建列表 []
  11. # 循环数据 for i in range(10)
  12. # 添加数据位置永远在最前面 i
  13. # if放后面  if i%2 == 0 if i%3 == 0
  14. print([i for i in range(10) if i%2 == 0 if i%3 == 0])
复制代码

 
 
3.三元表达式
  1. # 3.三元表达式
  2. # 一元 not  not True
  3. # 二元 +
  4. # 普通写法
  5. age = 20
  6. if age>18:
  7.     print('成年')
  8. else:
  9.     print('未成年')
  10. # 三元表达式
  11. # 判断写中间  if age>18 else
  12. # 满足条件后的结果写前面  print('成年')
  13. # 不满足条件后的结果写后面  print('未成年')
  14. print('成年') if age>18 else print('未成年')
复制代码

 
 
  1. # 普通写法
  2. age = 20
  3. if age>18:
  4.     data = 1
  5. else:
  6.     data = 0
  7. print(data)
  8. # 三元表达式写法
  9. # 判断写中间  if age>18 else
  10. # 满足写前面  1  不是data=1
  11. # 不满足写后面  0  不是data=0
  12. # 注意和上面有一些不同!
  13. # data =      1    if age>18 else    0
  14. data = 1 if age>18 else 0
  15. print(data)
复制代码

 
 
  1. # 普通写法
  2. list_data = []
  3. for i in range(10):
  4.     if i%2 == 0:
  5.         list_data.append(i)
  6.     else:
  7.         list_data.append(str(i))
  8. print(list_data)
  9. # 三元表达式和列表推导式一起写
  10. # 创建列表  []
  11. # 循环列表  for i in range(10)
  12. # 添加数据位置永远在最前面  i if i%2 == 0 else str(i)
  13. # 注意添加的数据不是i,是i和str(i)中的一个
  14. # list_data = [i if i%2 == 0 else str(i) for i in range(10)]
  15. list_data = [(i if i%2 == 0 else str(i)) for i in range(10)]  # 利用小括号来增加一点可读性
  16. print(list_data)
复制代码

 
 
  1. # 请用列表推导式完成1到100(不包括1和100)内所有奇数的和
  2. # 列表推导式写法
  3. list_data = [i for i in range(2, 100) if i%2 == 1]
  4. print(sum(list_data))
  5. # 普通写法
  6. list_data = []
  7. for i in range(2, 100):
  8.     if i%2 == 1:
  9.         list_data.append(i)
  10. print(sum(list_data))
复制代码

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4