python中如何创建列表_如何在Python中进行列表的创建?

学记在这两天将自己产生的知识漏洞给打了个补丁,之前写出的文章可能会有一些纰漏,在这里,学记对大家说一声抱歉了。

今天学记就把这两天找出的纰漏,全部都写出来,供大家参考,为大家下一步的学习做好铺垫。

aec379310a55b31967cd28616be22a23cffc17ba.jpeg?token=91fef141e8c2d4b49d2f68afc0dd6b25&s=F8B235D57E20328EB914D08B030060D3

1使用列表的生成式语法来创建列表

在这一个漏洞里,我们来重新把这一段的知识来进行补足。

创建列表不仅可以将列表按照原始的方法一个一个将值输入,也可以用生成式语法来创建。

比方说像下面这一段代码

f = [x for x in range(1, 10)]

这一行代码的输出结果是创建了一个列表f

f中有从1到9 的九个数字

也就是将变量 X 列举了出来

这一行代码也可以说明如何创建列表

f = [x + y for x in 'AB' for y in '123']

它的输出结果是

['A1', 'A2', 'A3', 'B1', 'B2', 'B3']

两个变量的列表创建就是将前一个变量按照 A B来取值,后一个变量按照 1 2 3 来取值结合起来,组合排列。

按照这种方法来创建列表,因为它们的元素已经列举出来了,所以这种创建方式在元素数量众多的情况下,是需要耗费较多的内存空间。

d788d43f8794a4c22f8d63fe28bfb3d0ac6e390d.jpeg?token=c101299b4ca3996d89e12c490c7ba83b&s=16E4D104EAE26A9ED13055420300E098

那么有没有一种函数可以在占据较少的内存空间情况下,也可以提供元素呢?

答案是有的。

这里我们引入一个新的概念:生成器。

何为生成器?

生成器是一个一边循环,一边计算的函数机制,英文为:Generator.

它可以在你需要的时候通过特殊的算法来进行提取所需的元素,而它又不需要把所有的元素都列举出来,所以节省了巨大的空间。

它的创建方法有很多种,今天我们先了解最简单的一种,创建方法与上面的代码类似,就是把符号换了,把 []换成了 ()。

代码如下:

f = (x ** 2 for x in range(1, 1000))

这样就创建了一个生成器

其中的元素可以用next()和for in 来进行提取

比如 next(g) 和 for n in g

这两种都可以提取生成器中的元素。

2 元组的不可变性带来的优点

元组内的元素是不可变的,它自创建开始到删除都是不能变的,因此在一些任务处理中,比如大量数据的归总,分门别类,有些固定的字眼就可以用元组来处理,减轻了数据处理的压力,给程序的维护性带来了很大的益处。

况且,因为元组的元素是不可变的,创建同样元素的元组和列表,元组所占的内存空间和响应速度要大大优于列表。

青年学记 陪伴着各位青年

8601a18b87d6277f934c3cf60e73b735e824fc76.jpeg?token=446ac30e89e1040c54c21f3fcea20460&s=34707F366F237C0506589DD2030010F1

作者:青年学记 一名不断进步的程序猿

一起学习 一起进步

走向自立

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值