前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python每日一谈|No.12.列表生成式

Python每日一谈|No.12.列表生成式

作者头像
DrugSci
发布2021-03-16 09:02:51
2170
发布2021-03-16 09:02:51
举报
文章被收录于专栏:FindKeyFindKey

来看一个我经常使用的方式

列表生成式

一般来说我们如果要创建一个列表的话,那么可选的方案有

1.直接定义列表

代码语言:javascript
复制

 In [1]: a = [1,2,3,4]

In [2]: type(a)
Out[2]: list

2.将其余数据结构直接列表化

代码语言:javascript
复制
In [3]: b = (1,2,3,4)

In [4]: type(b)
Out[4]: tuple

In [5]: c = list(a)

In [6]: type(c)
Out[6]: list

In [7]: print(c)
[1, 2, 3, 4]

1.先创建一个空列表,然后往里面塞元素

代码语言:javascript
复制

In [8]: d = []

In [9]: for i in range(0,4):
   ...:     d.append(i)
   ...:

In [10]: d
Out[10]: [0, 1, 2, 3]

In [11]: type(d)
Out[11]: list

但是python提供了一个更为强大的列表生成方案

他的一般形式是

列表 = [表达式 for i in 列表]

当然你也可以复杂一点

列表 = [表达式 for i in 列表 判断式]

那么我们就可以这样使用

代码语言:javascript
复制

In [12]: a = [i for i in range(0,4)]

In [13]: a
Out[13]: [0, 1, 2, 3]

或者

代码语言:javascript
复制
In [14]: a = [i**2 for i in range(0,4)]

In [15]: a
Out[15]: [0, 1, 4, 9]

甚至于这样

代码语言:javascript
复制

In [16]: a = [i**2 for i in range(0,4) if i > 1]

In [17]: a
Out[17]: [4, 9]
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FindKey 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档