第二周第一天学习总结
一、else的循环
-
完整的for循环:
for 变量 in 序列:
循环体
else:
代码段
-
完整的while循环:
while 条件语句:
循环体
else:
代码段
- 注意:else的存在并不会影响原来的循环的执行;
- 如果循环自然死亡,循环结束后会执行else后面的代码段;如果循环是因为break而结束,那么else后面的代码段不会执行
#此处是代码
#练习指定数是否是素数
#素数(质数):除了1和它本身以外不会被其他数整除的数就是素数
#判断素数的标准:看从2开始到这个数-1之间有没有一个能被它整除的数,如果有一个能被它整除就说明这个数不是素数
for x in range(2,num):
if num % x == 0:
print(num,'不是素数')
break
else:
print(num,'是素数')
二、列表
一、什么是列表
- 定义:列表是python中的容器型数据类型;
- 将[]作为容器的标志,里面多个数据用英文逗号隔开:[x,c,v,b,n,m,…]
- 列表是可变的:元素的个数、元素的值和顺序都可以改变- 支持增、删、改的操作
- 列表是有序的,支持下标操作
- 补充:元素-容器中每个独立的数据就是这个容器中的每个元素
- len(列表)- 获取列表中元素的个数
- 空列表 - 一个列表中一个元素都没有
列表的增删改查
-
增
-
在列表里添加元素
-
语法:
1)列表.append(元素) - 在指定列表的最后添加指定元素
2)列表.insert(下标,元素) - 在指定的元素插入到原列表指定下标对应的元素前
#案例:获取scores中所有不及格的分数,以列表的形式返回 # scores = [98,23,45,78,80,100] new_scores = [] for x in scores: if x < 60: new_scores.append(x) print(new_scores) nums = [10,50 ,400] nums.insert(-1,60) print(nums) #[10, 50, 60, 400]
-
-
删
-
删除元素
-
语法
1)del 列表[下标] - 删除指定下标对应的元素(下标不能越界)
2)列表.remove(元素) - 删除指定元素(如果对应的元素有多个,只删除最前面的
-
元素;如果元素不存在,会报错)
3)列表.pop() - 取出列表最后一个元素并且返回
列表.pop(下标) - 取出列表中指定下标对应的元素并且返回
nums = [10, 50, 100, 50, 20]
x = nums.pop()
print(nums, x) # [10, 50, 100, 50] 20
nums = [10, 50, 100, 50, 20]
x = nums.pop(-2)
print(nums, x) # [10, 50, 100, 20] 50
-
改
-
修改某个元素的值
-
语法
列表[下标] = 值 – 将指定下标对应的元素修改成指定的值
-
-
查 - 获取元素
-
1)查单个元素 - 获取列表中的一个元素
语法:
列表[下标]
说明:
列表 - 任何结果是列表的表达形式,一般是保存列表的变量或者具体某一个列表
[ ] - 固定写法
下标(索引) - 列表中元素的位置信息(列表中的每个元素都有两个下标值,分别是:从前往后从0开始不断增加的下标值;从后往前从-1开始不断减小的下标值)
注意:这儿的下标不能越界
-
2)遍历 - 一个一个的将列表中的元素全部取一遍
-
方法一:
for 元素 in 列表:
循环体
方法二:
for 下标 in range(len(列表)):
循环体
方法三:
for 下标,元素 in enumerate(列表):
循环体
-
3)切片 - 获取部分元素
语法:
列表[开始下标:结束下标:步长]
-
开始下标、结束下标 - 用来确定切片的有效范围(开始下标对应的元素能取到,结束下标对应的元素取不到)
-
步长 - 确定获取方式(1、正负决定是从前往后取还是从后往前取;2、绝对值大小决定是一个一个的取还是跳着取
a、怎么看切片效果
第一步:先确定结果是否为空(看从开始下标到结束下标对应的方向 和 步长对应的方式是否一致,如果不一致,就直接为[]
第二步:确定有效范围(开始下标对应的元素能取到,结束下标对应的元素取不到)
第三步:根据步长在有效范围内获取元素
绝对值为1:一个一个的取
绝对值为2:取1个跳1个再取1个
绝对值为3:取1个跳2个再取1个
b、通过目标来写切片
第一步:确定开始下标(将目标数据中第一个元素对应的下标作为开始下标)
第二步:确定步长(根据方向确定正负;根据取的时候跳过的方式确定绝对值)
第三步:确定结束下标(如果步长为正,结束下标是取到的最后一个元素的后面一个元素的下标;步长为负,是取到的最后一个元素前面的一个元素的下标)
案例:movies = ['小森林', '复联3', '肖生克的救赎', '蜘蛛侠', '忍者神龟', '泰坦尼克号', '阿凡达'] print(movies[1:-2:1]) #[复联3,肖申克的救赎,蜘蛛侠,忍者神龟 print(movies[4:0:2]) #[] print(movies[-2:2:-2]) #[泰坦尼克号,蜘蛛侠]
-
-
-
省略语法
- 列表[开始下标:结束下标:步长]
- 省略步长:列表[开始下标:结束下标] - 相当于步长为1
- 省略开始下标:列表[:结束下标:步长] - 相当于从头开始(头有可能是第一个元素也有可能是第二个元素)
- 省略结束下标:列表[开始下标::步长] - 从开始的位置开始一直取完