列表和水仙花数
家人们,抱歉停更了一天。昨天发生了一些事,让我直呼“太难了”。我在学习蓝桥杯的同时,也在跟着一位老师做科研。对于科研,我的直观感受是“翻过一座山还有一座山,翻过一条河还有一道湾”,那座山是泰山,那道湾是黄河老牛湾。我的内心belike:🤡
心情激动下,我写了这么一节小诗,以此来抚慰我受伤的心灵:
希望这首诗能鼓励到正在这条路上挣扎的少年(大佬请自动略过),共勉!
好了,让我们开始前天的分享。昨天没有达成目标。
一.列表
列表是py中一个非常非常非常重要的知识点,大家一定要熟练掌握。
1.定义
[1,2,3,4,5],这就是列表,同C++中的数组一样,它的索引值从0开始。
2.切片
和range类似,列表可以进行“切片”(截取一个区间),如:
还可以加入步长
3.列表的一些方法——增删改查
(1)增
append(插入的对象)
insert(索引值,插入的对象)
insert(0,插入的对象):始终在列表头插入
insert(len(a),插入的对象):始终在列表尾插入
注:这里插入的对象可以是数,可以是字符串
extend(可迭代对象):允许末尾添加一个可迭代对象(列表,字符串等)
(2)删
remove(x):删除第一个值为x的元素
pop(x):删除下标为x的元素
clear():全部清空
(3)改
直接使用想改目标的索引
(4)查
count(x):统计有几个x
index(x):返回第一个x的索引值
4.加法和乘法
列表的加法就是拼接,乘法是复制
5.嵌套列表
有点像c++中的二维数组,顾名思义,就是列表套列表。
6.列表推导式
基本语法:[expression for item in iterable if condition]
转换成循环语句则是这样:
水仙花数
一个数等于它每位数的3次方之和,这个数就称作水仙花数。如153=13+53+33,153就是一个水仙花数。
解这道题的思路是先把每位数字单独分离,再计算各个3次方之和,最后判断与原数是否相等。代码如下:
我这里用了%和/两种运算分离每位的数字,做“/”运算时要注意,python中的结果是浮点数,需要强制类型转换;此外,最后比较时是和原数比,所以一开始要把原数单独存起来。
好吧,看来坚持还是一件需要坚持的事情。“每天都学1h”这个目标看似很小,但做起来不容易。最初的兴奋过去后,剩下的就是平淡日子里的坚持。
你是否也到了平淡期?你达成今天的目标了吗?