c++ for range 崩溃_Python自学笔记(三):操作列表与for循环

45f02bc3dbbf94930f3335e600c90613.png

写在前面:

找工作、租房、入职、感冒等等忙的焦头烂额(都是借口,给自己两巴掌),继续开始就像重写一样。总结:入门Python需要一鼓作气,快速入门;学习要勤写笔记,以备忘。

一、遍历与循环

什么是遍历?把元素都经历一遍。什么是循环?往复回旋。循环通过函数(for、while)实现,遍历元素并进行其他操作。

1.1 for循环开始、实现的操作、结束

lists = ['a',1,'b',['c','nanhua']]
for x in lists:
    print(x)
print(lists)
# 代码含义:通过for循环把列表lists每个元素都打印一遍。循环打印结束后打印lists列表。
【设定任意变量名x,把列表lists第一个值赋值给x,打印;再把列表第二个元素赋值给x,打印......
按照顺序把列表lists的元素存入变量x中(遍历)并打印x的值(循环后的操作)。
最后一个元素赋值给x,打印。循环结束。打印列表lists】

从上面三行代码很容易知道,for循环是在for这个单词开始的,in后面要通过循环来实现遍历列表lists;冒号后面转行且缩进(回车自动缩进或者Tab键)的内容是要实现的操作;结束即无代码或者与for左对齐代码的前一行。可以尝试把打印列表lists的代码也缩进,看效果。

二、缩进

本节可有可无,python中缩进的规则即表示缩进的内容属于上一级未缩进的内容,不是只适用for循环。

三、数值列表

数值列表是基础,更强大科学计算可以进一步学习numpy等库。

什么是数值列表?用数值组成的列表。因此列表中只含有数字。

3.1 函数range()

for x in range(1,5):
    print(x)
print(type(range(1,5))
# 通过for循环来遍历range,并输出。得到的数值是:1,2,3,4
【python中(包括库中)取数值的函数大多数都是左闭右开,即可以取到左边的值,取不到右边的值】

3.2 函数list()及range()进阶

nub1 = list(range(1,5)) # 把range转为列表
nub2 = list(range(1,10,2) # range第三个元素为步长,只能为整数,一样遵守左闭右开

3.3 数学计算与统计计算

这里的计算只是为了学习列表的使用,更多的数学计算需要进一步学习

3.3.1 平方计算

# ①先创建空列表,再通过循环把元素加入列表中
squares = []
for value in range(1,11):
    square = value**2
    squares.append(square)
    # squares.append(value**2)
print(squares)
# ②列表解析方法进行平方计算:
squares = [value**2 for value in range(1,11)]
print(squares)
## 本质还是创建一个列表,然后在[]中写入代码:先输入表达式(想输入列表的值),再用for循环给表达式提供值

3.3.2 统计计算

lists = [1,2,3,5,6,9,7,8]
print(min(lists))  # 最小值
print(max(lists))  # 最大值
print(sum(lists))  # 求和

四、使用列表的一部分

什么是切片?把列表的部分取下来,可能是一个、几个、甚至整个列表。

切片是重点基础,在之后学习numpy、pandas时同样要学习,因此要加以区分。

4.1 切片

上一篇知道列表的索引从0开始,也在本篇知道左闭右开原则。如果要切出第a+1个元素到第b个元素:列表名[a:b]。(此处多敲代码感受)

lists = ['a',1,'b',['c','nanhua']]
# 打印第2个元素
print(lists[1])
print(type(lists[1])) # 对单个元素使用type函数,该元素是1,所以是int
# 打印第2-4个元素
print(lists[1:4])
# 若从第1个元素开始取到第4个元素
print(lists[:4])
# 若从第2个元素取到最后一个
print(lists[0:])
# 若取所有元素
print(lists[:])
# 取最后几个
print(lists[-1:])
print(lists[-3:])
print(type(lists[-3:])) # 对切皮使用type函数,还是list

4.2 遍历切片

# 切片后的列表还是列表,因此可以在for循环中使用切片
lists = ['a',1,'b',['c','nanhua']]
for list in lists[1:4]:
    print(list)

4.3 复制列表

lists = ['a',1,'b',['c','nanhua']]
lists2 = lists[:]
lists3 = lists
# 对lists2改变
lists2.append('d')
print(lists2)
print(lists)
# 对lists3、lists改变
lists3[3] = 0
lists.append('d')
print(lists3)
print(lists)
# lists2是复制了一个全新的列表,对lists2进行改变是不影响原列表lists
# lists3是关联到原列表lists

五、元组

什么是元组?不可变列表(元素不可修改,但是把整个元组修改是可以的见5.3)。圆括号(())括起来,逗号(,)分隔元素。

# 可知元组是特殊的列表,前一篇和本篇列表拥有的都可以试一遍,你会获得比书上几页纸更多的东西。
# 例如sorted函数使元组变为列表
tuple = (1,2,4,3,5)
type(sorted(tuple))

5.1 定义元组(略)

5.2 遍历元组(略)

5.3 修改元组变量

虽然元组是不可变的列表,把整个元组作为变量进行修改是可以的。

tuple = (1,2,4,3,5)
print(tuple)
tuple = (2,3)
print(tuple)

六、总结

①for循环学习开始用缩进写出“复式”代码。

②可以开始对列表(可变对象)和元组(不可变对象)进行区分,后面将会继续补充其他需要区分的结构。

③切片是重点。

④虽然数值列表篇幅有点大,但不是重点。

⑤安利个IOS的App:Carnets-Jupyter。平板或者大屏手机配合iOS自带的文件App可以很方便阅读、编写、运行代码,界面和Jupyter Notebook一样(后悔买了微软平板)。当然可能有别的类似App都可以试试。

欢迎交流,大家加油!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值