c++怎么把一个大数字的各位数存到数组中_视觉干货铺|盘点Python中的神奇技巧...

盘点Python中的神奇技巧

c94e5a6e20c53fc17fb2ce27aee0dcb4.png

导语

大家好我是秦良秦影,今天我们来唠唠python的那些炫酷的小技巧,看完之后保证你写出来的代码b格满满的同时还能短小精悍。

455b72b6394dcf372e1eeed15de789a7.png
目录

链式比较

变量值互换

列表生成式

链式比较

我们先来看一个C的例子:

c218539bce0884314f283794a9a4f0af.png

好,不难看出上述C的代码要实现的功能是对输入的数字进行判断,如果该数字在[-5,0]之间,那么就输出该数字。

那么接下来,我们要用python来实现这个代码,此时,秦良秦影的舍友出现了,大声bb道:“这个我熟!看我怎么写!”

9f6bed3f07a519059389b06322949f1b.png 74215f913c1d7c5513a9a96423815af3.png

嗯,很好,作为一个python初学者,能写成这样已经可以了。但是!我们今天的主题是什么?神奇技巧!我们要的代码是什么?B格满满

a3cab21e382e92e3ea6be0157c847a44.png

那我们接下来就一起看一下,如何更python地写出这段代码:

c4c14c643d2916c14007ae60b4928983.png

这么一看是不是就高大上了不少!

70287d6117c57663e4fba4e1622e8758.png

变量值互换

相信不少小伙伴在编程过程中经常会涉及到变量值互换的问题,其中,小编想大部分人应当是这样写的:

3b3247cfe8e7e6df13005b741f4764fc.png

当然,也有大佬是这么写的:

71b9ba46c3ca6a99c41ef4bd7bb68925.png

不过,上述这些都...不!够!简!洁!

让我们看一下如何更python地写出这段代码:

8f250cdd9951895c922e4c29fe1691d4.png

是不是很简单!别人一看:哇!这个人代码怎么可以这样写,他不怕我报错的吗?

6f8ab1d7206dcfef6da0643af406664c.png 70287d6117c57663e4fba4e1622e8758.png

列表生成式

现在让我们再来看看编程中常用的数组有关的技巧↓

假设我们要构造这样的一个数组:一共100个元素,是从1到100的自然数的平方,我们用C来写的话可以这么写:

d7c3da3d23867c921a77ed6b4e45d672.png

这样看的话C的代码确实已经很短了,但是!对于python来说,还是太长了,完成一个目的居然要三行代码,这简直太不python了!这时,就要邀请我们今天要介绍的主角——列表生成式~

173c2fbe16adf32e7161b0a7587911e5.png

通俗来讲,列表生成式是python内置的"一句话生成列表"功能。用列表生成式来编写上述代码的话:

76a7eb10fba4d83641310d44544bd2ce.png

仅此一句话,便已经完成了要构造的数组的生成,是不是很简洁又很有B格~

接下来我们来解析一下这行代码:

在 for 前面的 x*x 是一个表达式,它必须根据 x 计算出一个结果,然后将这个结果追加进当前数组中;

for后面的x in range(1,101)是将x元素从1迭代到100,对每一次迭代的元素都执行前面的表达式,计算出结果之后存入列表中。接下来我们将这一行代码转化为python的一般写法,便于我们对比:

824a0d8448777bcfb062810507087133.png

这样一对比,大家是不是明白了~

在 for 循环后面还可以加上 if 条件判断,这样可以对生成的列表元素做进一步筛选:

c1683a9fd0c0706f8b43a69f16380383.png

上述代码实现了仅向列表中添加偶数的平方,当然,也可以使用多重循环

bc3f67f6f4c288eecaa299eabe21251e.png

代码运行结果:

dba2a88958c0b22673c1887f72014f18.png 70287d6117c57663e4fba4e1622e8758.png

今天的技巧分享就到这里了,我是秦良秦影,我们下次再见~

1f5000a3942d1e3114a202f5c3092a65.png

扫码关注我们

微信号:

robomasters俱乐部upc

新浪微博:

UPC_RoboPioneers机器人俱乐部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值