20220530列表学习总结

阅读: 评论:0

20220530列表学习总结

20220530列表学习总结

20220530列表学习总结

1.关键字else

1.1 完整的 for 循环

for 变量 in 序列:

​ 循环体

else:

​ 代码段

1.2 完整的 while 循环

while 条件语句:

​ 循环体

else:

​ 代码段

注意:

1)else的存在不会影响原来的循环的执行。

2)如果循环自然死亡,循环结束后会执行else中的代码段。

3)如果循环时因为遇到了break而结束的,那么else 后面的代码就不会执行。

eg:判断指定数是否是素数

# 素数(质数):除了1和它本身以外不能杯其他整数的数整除,就是素数
# 判断的标准:看从2开始到这个数-1之间有没有一个能被他整除的数,如果有一个能被它整除就说明这个数不是素数。
num = int(input('请输入一个整数:'))
for x in range(2, num-1):if num % x == 0:print(num,'不是素数')break
else:print(num,'是素数')

2.列表

2.1引入

2.1.1没有列表的情况下

求下列数据的平均分和最高分

score1 = 98
score2 = 99
score3 = 120
print('平均分:',(score1 + score2 + score3) / 3)
max_score = score1
if score2 > score1:max_score = score2
if score3 > max_score:max_score = score3
print('最高分:', max_score)

2.1.2有列表的情况下

求下列数据的平均分和最高分

score = [98, 99, 120]
print('最高分:',max(score))
print('平均分:',sum(score)/len(score))

2.2 什么是列表

列表是python中的容器型数据类型;

将[]作为容器的标志,里面多个数据用逗号隔开:[data1, data2, data3]

列表是可变的(元素的个数,元素的值和顺序都可以改变——支持增.删.改)

列表是有序的(支持下表操作)

补充:

元素 - 容器中每个独立的数据就是这个容器中的每个元素

len(列表) - 获取列表中元素的个数

注意:任何类型的数据都可以是列表的元素,同一个列表中的元素的类型可以不相同

3.查操作

3.1查单个

3.1.1语法:

列表[下标]

3.1.2说明:

列表 - 任何结果是列表的表达式,一般是保存列表的变量或者具体某一个列表。
[] - 固定写法
下标 - 下标又叫索引,下标就是列表中元素的位置信息

​ 列表中的每个元素都有两个下标值分别是:从前往后数从0开始不断增加的下标值、从后往前从-1开始不断减小的下标值

注意:这儿的下标不能越界

eg:

movies = ['小森林', '复联3', '肖生克的救赎', '蜘蛛侠', '忍者神龟', '泰坦尼克号', '阿凡达']
print(movies[2], movies[-5])
print(movies[-1])

输出结果为:

‘肖生克的救赎’,‘肖生克的救赎’

’阿凡达‘

3.2遍历

一个一个的将列表中的元素全部取一遍

3.2.1 方法一

for 元素 in 列表:

​ 循环体

eg:

movies = ['小森林', '复联3', '肖生克的救赎', '蜘蛛侠', '忍者神龟', '泰坦尼克号', '阿凡达']
for x in movies:print(x)

输出结果:

小森林
复联3
肖生克的救赎
蜘蛛侠
忍者神龟
泰坦尼克号
阿凡达

#### 3.2.2 方法二

for 下标 in range(len(列表)):

​ 循环体:列表[下标]

eg:

movies = ['小森林', '复联3', '肖生克的救赎', '蜘蛛侠', '忍者神龟', '泰坦尼克号', '阿凡达']
for x in range(len(movies)):print(x,movies[x])

输出结果为:

0 小森林
1 复联3
2 肖生克的救赎
3 蜘蛛侠
4 忍者神龟
5 泰坦尼克号
6 阿凡达

3.2.3 方法三

for 下标,元素 in enumerate(列表):

​ 循环体

movies = ['小森林', '复联3', '肖生克的救赎', '蜘蛛侠', '忍者神龟', '泰坦尼克号', '阿凡达']
for a,b in enumerate(movies):print(a, b)

输出结果为:

0 小森林
1 复联3
2 肖生克的救赎
3 蜘蛛侠
4 忍者神龟
5 泰坦尼克号
6 阿凡达

3.3切片

3.3.1完整语法

语法:

列表[开始下标:结束下标:步长]

说明:
开始下标、结束下标 - 用来确定切片的有效范围(开始下标对应的元素能取到,结束下标对应的元素取不到)

步长 - 确定获取方式(1.正负决定是从前往后取还是从后往前取 2.绝对值大小决定是一个一个的取还是跳着取)

3.3.2 怎么看切片结果

第一步:先确定结果是否为空(看从开始下标到结束下标对应的方向和步长对应的方式是否一致,如果不一致,结果直接为[])
第二步:确定有效范围(开始下标对应的元素能取到,结束下标对应的元素取不到)
第三步:根据步长在有效范围内获取元素
绝对值为1:一个一个的取
绝对值为2:取1个跳1个再取1个
绝对值为3:取1个跳2个再取1个

eg:

movies = ['小森林', '复联3', '肖生克的救赎', '蜘蛛侠', '忍者神龟', '泰坦尼克号', '阿凡达']
print(movies[1:-2:1])       # ['复联3', '肖生克的救赎', '蜘蛛侠', '忍者神龟']
print(movies[4:0:2])        # []
print(movies[-2:2:-2])      # ['泰坦尼克号', '蜘蛛侠']

3.3.3通过目标来写切片

第一步:确定开始下标(将目标数据中第一个元素的对应的下标作为开始下标)
第二步:确定步长(根据方向确定正负;根据取的时候跳过的方式确定绝对值)
第三步:确定结束下标(如果步长为正,结束下标是取到的最后一个元素后面的那个元素的下标,如果步长为负,结束下标是取到的最有一个元素前面的那个元素的下标)

3.3.4省略语法

列表[开始下标: 结束下表: 步长]

a.省略步长:列表[开始下标: 结束下表] - 步长是1
b.省略开始下标:列表[: 结束下表: 步长] - 表示从头开始,但是这个头可能是第一个元素,也有可能是最后一个元素
c.省略结束下标:列表[开始下标:: 步长] - 从开始的位置一直取完
d.省略开始结束下标:列表[: 步长] - 从头往后取完,并且方向看步长为1
e.省略结束和步长:列表[开始下标:]

4.列表的增删改

4.1增

1)

列表.appen(元素) - 在指定列表的最后添加指定元素

列表.insert(下标,元素) - 将指定元素插入到原列表指定下标元素的前面

eg:

list1 = [10, 20]
print(list1)
list1.append(100)
print(list1)

输出结果为:

[10, 20]
[10, 20, 100]

eg:

获取scores中所有不及格的分数,以列表的形式返回
scores = [98, 34, 89, 99, 56, 100, 91, 70]

scores = [98, 34, 89, 99, 56, 100, 91, 70]
new_scores = []
for x in scores:if x < 60:new_scores.append(x)
print(new_scores)

输出结果:

[34, 56]

4.2删

删除元素
1)del 列表[下标] - 删除指定下标对应的元素(下标不能越界)
2)列表.remove(元素) - 删除指定元素,如果列表中存在多个指定的元素,删除前面的第一个,如果元素不存在,会报错
3)列表.pop() - 取出列表最后一个元素
4)列表.pop(下标) - 取出列表中指定的元素

eg:

#a
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
del nums[1]
print(nums)#[1, 3, 4, 5, 6, 7, 8, 9, 10]
#b
nums = [1, 2, 3, 4, 5, 2, 6, 7, 8, 9, 10]
ve(2)
print(nums)#[1, 3, 4, 5, 2, 6, 7, 8, 9, 10]
#c
nums = [1, 2, 3, 4, 5, 2, 6, 7, 8, 9, 10]
nums.pop()
print(nums)#[1, 2, 3, 4, 5, 2, 6, 7, 8, 9]
#d
nums = [1, 2, 3, 4, 5, 2, 6, 7, 8, 9, 10]
nums.pop(2)
print(nums)#[1, 2, 4, 5, 2, 6, 7, 8, 9, 10]

4.3改

修改某个元素的值
#列表[下标] = 值 - 将指定下标的元素修改成指定的值

nums = [10, 50, 100, 50, 20]
print(nums)#[10, 50, 100, 50, 20]
nums[2] = 35
print(nums)#[10, 50, 35, 50, 20]

#[1, 2, 3, 4, 5, 2, 6, 7, 8, 9]
#d
nums = [1, 2, 3, 4, 5, 2, 6, 7, 8, 9, 10]
nums.pop(2)
print(nums)#[1, 2, 4, 5, 2, 6, 7, 8, 9, 10]

4.3改修改某个元素的值
#列表[下标] =   值   -   将指定下标的元素修改成指定的值```python
nums = [10, 50, 100, 50, 20]
print(nums)#[10, 50, 100, 50, 20]
nums[2] = 35
print(nums)#[10, 50, 35, 50, 20]

本文发布于:2024-01-28 02:42:59,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063809854196.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:列表
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23