tomako123

导航

统计

python推导式

推导式作用及分类

推导式是通过一个数据序列来构成另一个数据序列的结构体
支持各种数据类型的推导式
1.列表推导式
2.字典推导式
3.集合推导式
4.元组推导式

1.列表推导式

  基本格式如下:
  [表达式 for 变量 in 列表] 
  [out_exp_res for out_exp in input_list]

  或者 

  [表达式 for 变量 in 列表 if 条件]
  [out_exp_res for out_exp in input_list if condition]

可以通过限制条件从一个列表里获取数据生成另一个列表,举个例子:

  #!/usr/bin/python3


  names = ["ana","bob","frank","elk"]

  names_up = [name.upper() for name in names if len(name)<=3]

  print(names_up)

  输出结果为:['ANA', 'BOB', 'ELK']
  这里的作用就是将列表names里面长度小于等于3的数据编程大写后输出到新的列表name中。

  计算30以内可以被3整除的数据:
  multiples = [i for i in range(30) if i % 3 == 0]
  print(multiples)
  输出:[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

2.字典推导式

  { key_expr: value_expr for value in collection }

  或

  { key_expr: value_expr for value in collection if condition }

例程:

  listdemo = ['Google','Runoob', 'Taobao']
  # 将列表中各字符串值为键,各字符串的长度为值,组成键值对
  newdict = {key:len(key) for key in listdemo}
  print(newdict)
  输出:{'Google': 6, 'Runoob': 6, 'Taobao': 6}

3.集合推导式

  { expression for item in Sequence }{ expression for item in Sequence if conditional }

例程

  setnew = {i**2 for i in (1,2,3)}
  print(setnew)
  输出:{1, 4, 9}

4.元组推导式

  (expression for item in Sequence )
  或
  (expression for item in Sequence if conditional )

  用法与列表推导式相同,区别在于[]和()。

拓展

  结果值1 if 判断条件 else 结果2  for 变量名 in 原列表
  list1 = ['python', 'test1', 'test2']
  list2 = [word.title() if word.startswith('p') else word.upper() for word in list1]
  print(list2)
  输出:['Python', 'TEST1', 'TEST2']

posted on   甜豆莎的辣白菜  阅读(31)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示