当前位置: 首页 > news >正文

安庆网站建设专业做羞羞事网站

安庆网站建设专业,做羞羞事网站,网站添加地图,龙港网站建设本文基于python3。 目录 1、Python推导式2、列表(list)推导式2.1、定义2.2、实际操作2.2.1、一个表达式,后面为一个 for 子句2.2.2、一个表达式,后面为一个 for 子句,然后,跟着if 子句。2.2.3、一个表达式,后面为一个…

本文基于python3。

目录

  • 1、Python推导式
  • 2、列表(list)推导式
    • 2.1、定义
    • 2.2、实际操作
      • 2.2.1、一个表达式,后面为一个 for 子句
      • 2.2.2、一个表达式,后面为一个 for 子句,然后,跟着if 子句。
      • 2.2.3、一个表达式,后面为一个 for 子句,然后,跟着 for 子句。
      • 2.2.4、一个表达式,后面为一个 for 子句,然后,跟着 for 子句,if 语句
      • 2.2.5、表达式的不同
        • 2.2.5.1、表达式是函数
        • 2.2.5.2、表达式是元组
        • 2.2.5.2、表达式是复杂的表达式和嵌套函数
  • 3、利用列表推导式实现乘法口诀
  • 4、总结

1、Python推导式

你可以理解成一种数据的处理方式。目的是为了构建一个新的数据序列。
Python 支持各种数据结构的推导式:

  1. 列表(list)推导式
  2. 字典(dict)推导式
  3. 集合(set)推导式
  4. 元组(tuple)推导式

各自从字面意思就知道,创建一个列表、字典、集合、元组。
我们本文只看列表(list)推导式。

2、列表(list)推导式

列表推导式创建列表的方式更简洁。
常见的用法:

  1. 对序列或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表。
  2. 用满足特定条件的元素创建子序列。

2.1、定义

定义主要有两种:(该部分定义来自:菜鸟教程)

  • 定义1:
[表达式 for 变量 in 列表] 
[out_exp_res for out_exp in input_list]
  • 定义2
[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
  • out_exp_res:列表生成元素表达式,可以是有返回值的函数。
  • for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
  • if condition:条件语句,可以过滤列表中不符合条件的值。

总结:一个表达式,后面为一个 for 子句,然后跟着零个或多个 for 或 if 子句。结果是由表达式依据 for 和 if 子句求值计算而得出一个新列表。

基于总结话我们来实际操作一下。

2.2、实际操作

2.2.1、一个表达式,后面为一个 for 子句

创建 数值*2 的列表:

TestList = [x*2 for x in range(10)]print(TestList)
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

等价于以下语句:

TestList = []
for x in range(10):TestList.append(x*2)print(TestList)

2.2.2、一个表达式,后面为一个 for 子句,然后,跟着if 子句。

创建 全是偶数 的列表:

TestList = [i for i in range(10) if i % 2 == 0]print(TestList)
# [0, 2, 4, 6, 8]

等价于以下语句:

TestList = []
for i in range(10):if i % 2 == 0:TestList.append(i)print(TestList)

2.2.3、一个表达式,后面为一个 for 子句,然后,跟着 for 子句。

直接上实例,一看就懂:

OldList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]TestList = [j for i in OldList for j in i]print(TestList)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

等价于以下语句:

OldList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
TestList = []for i in OldList:for j in i:TestList.append(j)print(TestList)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

2.2.4、一个表达式,后面为一个 for 子句,然后,跟着 for 子句,if 语句

直接上实例:

OldList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]TestList = [j for i in OldList for j in i if j % 2 == 0]print(TestList)
# [2, 4, 6, 8]

等价于以下语句:

OldList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
TestList = []for i in OldList:for j in i:if j % 2 == 0:TestList.append(j)print(TestList)
# [2, 4, 6, 8]

2.2.5、表达式的不同

因为列表生成元素表达式,可以是有返回值的函数。因此就有一些其他用法。

2.2.5.1、表达式是函数

OldList = ['   AA', '  BB ', 'CC  ']
TestList = [i.strip() for i in OldList]
# strip():去掉前后空格print(TestList)
# ['AA', 'BB', 'CC']

2.2.5.2、表达式是元组

TestList = [(x, x**2) for x in range(6)]print(TestList)
# [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]

注意:使用元组必须带小括号。

# 没带小括号
TestList = [x, x**2 for x in range(6)]
print(TestList)# 错误信息
/Scripts/python.exe d:/05.ProjectWork/00.Python/00.Project/test_python/test.pyFile "d:/05.ProjectWork/00.Python/00.Project/test_python/test.py", line 192TestList = [x, x**2 for x in range(6)]^
SyntaxError: invalid syntax

2.2.5.2、表达式是复杂的表达式和嵌套函数

from math import pi
TestList = [str(round(pi, i)) for i in range(1, 9)]print(TestList)
# ['3.1', '3.14', '3.142', '3.1416', '3.14159', '3.141593', '3.1415927', '3.14159265']

3、利用列表推导式实现乘法口诀

直接上代码:

print("\n".join([" ".join(["{}*{}={}".format(x, y, x*y) for x in range(1,y+1)]) for y in range(1,10)]))

结果如下:

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

执行结果

4、总结

其实我们看这些实例,他们的规律就是:

最前面的表达式就是最后这个值做了怎么样的处理。
后面的for、if语句,从左到右依次,一层一层嵌套进去,进行处理。

如果有问题,请指出,或者copy了谁的,也请指出。
会及时更正。

http://www.yayakq.cn/news/778370/

相关文章:

  • 皖icp合肥网站建设中铁韩城建设公司网站
  • 网站建设框架构建做p2p投资理财的网站
  • 门户网站申请江阴外贸网站建设
  • 网站风格分析郑州网站建设庄园
  • 丽江建设工程信息网站东莞市做网站的公司
  • 做网站后台的时候要注意什么福州专业网站搭建排名
  • 公司做网站所上传的产品图片eclipse开发网站用vue做前端
  • 做八年级题目的网站怎样免费设计logo
  • 房产手机网站模板周口网站建设电话
  • php网站开发实例教程 课件一键网站建设
  • 龙华做手机网站微信网站搭建哪家好
  • 发外链的网站都要企业注册汕头网站网站建设
  • 永康门业微网站建设wordpress手机上图片
  • 去哪里建设自己的网站?合肥电信网站备案
  • 网站建设前台和后台设计玉树营销网站建设公司
  • 网站建设常用字体可信网站标志
  • 昆山网页网站制作品牌型网站建设特点
  • 东莞设计兼职网站建设网页视频下载不了怎么办
  • 青海省教育厅门户网站官网wordpress 文章字符数
  • 家居网站建设如何wordpress 替换头像
  • 大沥网站制作怎样下载做网站的软件
  • php中做购物网站的教程个人怎么建设网站
  • 陕西宝陵建设集团网站增城免费网站建设
  • 欧美租车公司网站模板1psd合肥网站建设设计外包
  • 网站建设网站软件有哪些方面化妆品网站制作
  • 青岛城市建设集团网站流量多网站
  • 1元建网站可以做ppt的网站
  • 网站开发完以后交付源代码12380网站建设情况的报告
  • 求个没封的a站2022青岛手机网站制作
  • 网站tag聚合怎么做东莞网站建设推广公司哪家好