一、review复习巩固第一周的内容
day 1 —基础语法、输入和输出、变量
print(100)
print(‘hello world’)
print(100);print(‘hello world’)
#int、float、str(字符串)、bool、NoneType
类型名(数据)、type(获取某一种数据类型,或者说是判断某种数据的类型)
if type(100)==int:
print(‘整数’)
print(100)
print(10,20,30)
print(200,end=‘;’)
print(300) #200;300
print(11,22,33,sep=‘+’) #11+22+33
#变量=input(‘请输入账号:’)
print(变量)
age=int(input(‘请输入年纪:’))
print(age,type(age))
#变量名=数据 标识符(字母_数字)
day2:–运算符和分支
数学运算符:+、-、*、/、%、//、**
%取余,判断整数关系看一个数能不能被另一个数整除;看个位数是多少
//整除,商向小取整;想让他的结果直接是整数;砍掉低位数保留高位数
%//配合可以看个位数、十位数····分别是什么
比较运算符:>,<,>=,<=,==,!=:0<x<1
逻辑运算符:and,or,not
赋值运算符;=,+=,*=,/=,%=,//=,**=
分支;if
if—else
if–elif—else
day3、4–循环
for 变量 in 序列:
循环体
else:
代码段 (前面是自然死亡,不影响else执行,遇到break不执行)
while 条件语句:
循环体
else:
代码段
continue —这一次循环结束,直接进入下次循环
break —结束整个循环
range函数
range(n)
range(m,n)
range(m,n,step)
二、列表
1.容器型数据类型(序列)
*变量从是否是容器分为:非容器型数据类型的变量和容器型数据类型变量
*非容器型数据类型的变量 — 一个盒子 里面只有一个格子,所以同一时间只能保存一个数据。
例如:int 、 float 、bool 、None
*容器型数据类型的变量 — 一个盒子里面有多个格子,每个格子可以存储不一样的数据,所以同一时间可以保存多个数据。
例如:list 、 dict 、 tuple 、set、str等
容器处理批量数据会比单独储藏变量方便很多:
stu1=90
stu2=95
stu3=82
stu4=77
用容器型处理:
scores=[90,95,82,77]
print(sum(scores))
print(max(scores),min(scores))
2.什么是列表(list)
*列表是容器型数据类型,一个列表可以保存多个数据,将[]作为容器标志,里面多个元素用逗号隔开。
eg:[元素1,元素2,元素3,·····]
*列表是可变的(可变指的是元素的个数,和元素的顺序、还有值-----说明支持增删改)
*列表中的元素:任何类型的数据都可以作为列表的元素。(没有要求)
*元素 —指的是容器中每个独立的数据
#空列表
list1=[]
print(list1)
#list2是一个列表,列表中只有一个元素
list2=[19]
list3=[10,20,89]
print(list3)
#同一个列表中的元素可以是不同类型的数据
list4=[10,12.8,True,‘abc’,[100,200]]
print(list4)
三、获取列表元素
1.获取单个元素
语法:
列表[下标]
说明:
列表 —任何结果是列表的表达式,例如 :保存列表的变量或者是具体的列表数据
[] — 固定写法
下标 —下标(又叫索引)就是有序序列中元素的位置信息。python中有序序列中元素的下标有两种:
第一种:从前往后,从0开始一次增加;
第二种:从后往前,从-1开始依次减少。
注意:下标不能越界
2.切片 —获取部分元素
1)语法1:
列表[开始下标:结束下标:步长]
2)确定是否可以获取到数据:从开始下标到结束下标的方向如果和步长对应的方向(步长为正表示从前往后,步长为负表示从后往前)一致就可以获取到数据,否则结果就是空列表。
3)确定有效范围:开始下标对应元素可以取到,结束下标对应的元素取不到。—》[开始下标,结束下标)
4)确定切片结果:先看能不能取到,看开始和结束的方向和步长是否一致,如不一致就不管了因为就是空值。反之按照步长的绝对值去取。
#开始下标到结束下标的方向如果和步长对应的方向一致,就可以取到数据
#开始下标到结束下标的方向如果和步长对应的方向不一致,一定取不到数据
print(heroes[1:4:-1])
print(heroes[5:1:2])
# 练习2:写切片获取指定内容
heroes = ['李白', '李信', '张飞', '关羽', '刘备', '安琪拉', '瑶', '孙膑']
# ['张飞', '关羽', '刘备'] √
# ['李白', '李信', '张飞', '关羽'] √
# ['瑶', '安琪拉', '刘备'] √
# ['李信', '关羽', '安琪拉'] √
# ['孙膑', '安琪拉'] √
# ['李信', '瑶'] √
print(heroes[2:5:1])
print(heroes[0:4:1])
print(heroes[-2:3:-1])
print(heroes[1:6:2])
print(heroes[-1:4:-2])
print(heroes[1:-1:5])
5)语法二:省略步长
列表[开始下标:结束下标]-----步长为1
heroes = [‘李白’, ‘李信’, ‘张飞’, ‘关羽’, ‘刘备’, ‘安琪拉’, ‘瑶’, ‘孙膑’]
print(heroes[1:3]) #[‘李信’,‘张飞’]
6)语法3:省略开始下标
列表[:结束下标:步长]/列表[:结束下标]
**如果步长为正,从第一元素开始往后取;如果步长为负,就从后往前取
print(heroes[:3]) #[‘李白’, ‘李信’, ‘张飞’]
print(heroes[:3:-1]) #[‘孙膑’,‘瑶’,‘安琪拉’,‘刘备’]
print(heroes[:-2:2]) #[‘李白’, ‘张飞’ ,‘刘备’]
7)语法4:省略结束下标
列表[开始下标::步长] / 列表[开始下标:]
**如果步长为正,从开始下标开始从前往后取取完为止;如果步长为负,就从开始下标开始从后往前取取完
print(heroes[3:]) #[‘关羽’, ‘刘备’, ‘安琪拉’, ‘瑶’, ‘孙膑’]
print(heroes[-2::-2]) #[‘瑶’,‘刘备’,‘张飞’,‘李白’]
# 练习:推算以下表达式的打印结果
heroes = ['李白', '李信', '张飞', '关羽', '刘备', '安琪拉', '瑶', '孙膑']
print(heroes[2:5]) #['张飞', '关羽', '刘备'] √
print(heroes[3::-2]) #['关羽''李信'] √
print(heroes[-3::-1]) #['安琪拉','刘备','关羽','张飞','李信','李白'] √
print(heroes[:-4:2]) #['李白', '张飞'] √
print(heroes[1::3]) #['李信', '刘备', '孙膑'] √
print(heroes[:-2]) #['李白', '李信', '张飞', '关羽', '刘备', '安琪拉'] √
3.遍历 —一个一个的全部取出来,取得方式是一次取一个
1)方法一 — 直接获取元素
for 变量 in 列表:
循环体
**变量依次获取的就是列表中的每个元素
nums=[23,8.9,90,89,78.3]
for x in nums:
print(‘x:’,x)
2)方法二 — 通过获取每个元素的下标来获取元素
for 变量 in range(列表长度):
循环体
**变量依次获取的时候列表中元素的下标
补充:len(列表) — 获取列表的长度
for x in range(len(nums)):
print(x,nums[x])
# 练习:scores保存所有学生的分数
# 1)统计不及格学生人数
# 2)计算学生平均分
scores = [90, 78, 54, 67, 88, 30, 59]
四、增删改
1.增 — 添加元素
‘’’
1)列表.append(元素) --将元素添加到列表的最后
‘’’
list1=[10,20]
list1.apprnd(100)
print(list1) #[10,20,100]
2)列表. insert(下标,元素) – 将元素插入到指定下标前
nums=[10,20,30,40]
print(nums)
nums.insert(1,100)
print(nums)
2、删 --删除元素
1)del 列表[下标] ----删除指定下标对应的元素
tvs=[‘海贼王’,‘七龙珠’,‘琅琊榜’,‘名侦探柯南’,‘还珠格格’]
del tvs[1]
print(tvs)
del tvs[-1]
print(tvs)
2)列表. remove(元素) —删除指定元素
**如果元素不存在会报错;如果元素有多个,只删除最前面的那个。
tvs=[‘海贼王’,‘七龙珠’,‘琅琊榜’,‘名侦探柯南’,‘还珠格格’]
tvs.remove(‘还珠格格’)
3)
列表.pop() —取出最后一个元素,并且返回
列表.pop(下标) —取出指定下标对应的元素,并且返回
remove
3.改
列表[下标]=值 —将列表中指定下标对应的元素改成指定的值
movies = [‘肖生克的救赎’,‘海上钢琴师’,‘长津湖’,‘罗小黑战记’]
movies[0]=‘V字仇杀队’
print(movies)
eg:
scores = [90,34,89,55,88]
#将scores中所有不及格的分数改成0分 -->[90,0,89,0,88]
#将scores中所有不及格的分数改成0分 -->[90,0,89,0,88]
scores = [90,34,89,55,88]
for index in range(len(scores)):
if scores[index]<60:
scores[index]=0
print(scores)
五、in操作
元素 in 列表 — 判断列表中是否存在指定的元素
元素 not in 列表 — 判断列表中是否不存在指定元素
布尔值
print(10in[10,20,30]) #True
print([10,20]in[10,20,30]) #False
print([10,20]in[[10,20],30]) #True