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

网站做虚假宣传有没有做处罚广州番禺区好玩的景点

网站做虚假宣传有没有做处罚,广州番禺区好玩的景点,安康网站建设小程序,个人怎么注册公司需要多少钱列表推导式 列表推导式创建列表的方式更简洁。常见的用法为,对序列或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。 例如,创建平方值的列表: squares [] for …

列表推导式

列表推导式创建列表的方式更简洁。常见的用法为,对序列或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。

例如,创建平方值的列表:

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

输出:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

注意,这段代码创建(或覆盖)变量 x,该变量在循环结束后仍然存在。下述方法可以无副作用地计算平方列表:

squares = list(map(lambda x: x**2, range(10)))

或等价于:

squares = [x**2 for x in range(10)]

上面这种写法更简洁、易读。

列表推导式的方括号内包含以下内容:一个表达式,后面为一个 for 子句,然后,是零个或多个 for 或 if 子句。结果是由表达式依据 for 和 if 子句求值计算而得出一个新列表。 举例来说,以下列表推导式将两个列表中不相等的元素组合起来

[(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]

输出:[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

等价于:

combs = []
for x in [1,2,3]:for y in [3,1,4]:if x != y:combs.append((x, y))>>>combs
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

注意,上面两段代码中,for 和 if 的顺序相同。

表达式是元组(例如上例的 (x, y))时,必须加上括号:

>>>vec = [-4, -2, 0, 2, 4]
# 用一个值的2倍创建一个新列表
>>>[x*2 for x in vec]
[-8, -4, 0, 4, 8]# 排除负数创建列表
>>>[x for x in vec if x >= 0]
[0, 2, 4]# 对所有元素使用绝对值函数
>>>[abs(x) for x in vec]
[4, 2, 0, 2, 4]# 每个元素都调用方法
>>>freshfruit = ['  banana', '  loganberry ', 'passion fruit  ']
>>>[weapon.strip() for weapon in freshfruit]['banana', 'loganberry', 'passion fruit']# 创建一个有2个元素的元组的列表,如: (number, square)
>>>[(x, x**2) for x in range(6)]
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]# 元组必须用括号括起来不然会报错
>>>[x, x**2 for x in range(6)]File "<stdin>", line 1[x, x**2 for x in range(6)]^^^^^^^
SyntaxError: did you forget parentheses around the comprehension target?
# 使用带有两个“for”展开列表组>>>vec = [[1,2,3], [4,5,6], [7,8,9]]
>>>[num for elem in vec for num in elem]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

列表推导式可以使用复杂的表达式和嵌套函数:

from math import pi
a=[str(round(pi, i)) for i in range(1, 6)]
print(a)

>>>

['3.1', '3.14', '3.142', '3.1416', '3.14159']

嵌套的列表推导式

列表推导式中的初始表达式可以是任何表达式,甚至可以是另一个列表推导式。

下面这个 3x4 矩阵,由 3 个长度为 4 的列表组成

matrix = [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12],
]

下面的列表推导式可以转置行列:

[[row[i] for row in matrix] for i in range(4)]

>>>

[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

正如我们在上一节中所看到的,内部列表理解是在其后面的for的上下文中评估的,因此此示例等效于:

transposed = []
for i in range(4):transposed.append([row[i] for row in matrix])

>>>transposed

[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

反过来说,也等价于:

transposed = []
for i in range(4):# the following 3 lines implement the nested listcomptransposed_row = []for row in matrix:transposed_row.append(row[i])transposed.append(transposed_row)

实际应用中,最好用内置函数替代复杂的流程语句。此时,zip() 函数更好用:

list(zip(*matrix))

>>>

[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]

 

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

相关文章:

  • 鲜花购物网站源码企业策划书范文案例
  • 做网站必须会东莞保安公司联系电话
  • 河南省做网站的公司有没有教做化学药品的网站
  • 新郑市建设局网站网站建设公司比较好的有哪些
  • 罗湖小学网站建设南雄市建设局网站
  • 旅游网站有哪些功能别人买了域名做违法网站
  • 网站开发项目比赛wordpress页面编辑乱码
  • 使用wordpress做网站网页设计与制作教程第二版刘瑞新
  • 网站布局设计分析特点wordpress西班牙语
  • 怎样自做网站租房注册公司需要什么资料
  • 有什么发布做投标报价的网站秦皇岛手机网站
  • 黑龙江网站设计产品网络营销
  • 南宁会制作网站的技术人员北京cms建站系统
  • 管理类手机网站山西建设机械网站
  • 佛山市官网网站建设企业无限动力网站
  • 个人资料库网站怎么做企业官方网站模板下载
  • 长春网站推广优化公司关键词优化推广公司哪家好
  • 定制设计网站万州做网站的公司
  • 网站建设与管理适合女生学吗企业网站 域名注册
  • 一个网站的制作特点wordpress 教材主题
  • 企业网站建设招标一套网站开发需要多少钱
  • 新站突然网站停止收录凡科微信小程序怎么样
  • 第二课强登陆网站新型智库建设的意见左侧固定导航栏的网站
  • dedecms农业种植网站模板学生网页网站制作软件大全
  • 2345浏览器网站大全网站所用的图片大小
  • 网站模板超市军事视频2020最新
  • 紫金保险车险官方网站网络系统管理技能大赛linux
  • 网站建设电子商务WordPress免插件实现QQ咨询
  • 沈阳有多少网站一个备案可以做几个网站吗
  • 有没有做古装衣服的网站山东平台网站建设哪里有