写在前面:
找工作、租房、入职、感冒等等忙的焦头烂额(都是借口,给自己两巴掌),继续开始就像重写一样。总结:入门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循环学习开始用缩进写出“复式”代码。
②可以开始对列表(可变对象)和元组(不可变对象)进行区分,后面将会继续补充其他需要区分的结构。
③切片是重点。
④虽然数值列表篇幅有点大,但不是重点。