列表、插入删除、循环

列表

列表,是能够存储各种数据的容器。列表是可变的。列表是有序的(下标)。
列表的容器符号[],list

1.创建一个空列表
list1 = []

2.可变 - 增、删、改。
增加元素:
append():追加
insert():插入

list1.append('Python')
list1.append('Java')

--->['Python','Java']

下标:python中下标
正向下标,从0开始
负向下标:从-1开始

list1.insert(1, 'HTML')
list1.insert(1, 0)
print(list1)

修改:通过下标改元素
语法:列表[下标] = 新的值

list1[1] = 'C'
print(list1)

删除元素

del:语法:del 列表[下标]

remove:移除某个元素(彻底删除)

pop:移除某个元素(删除文件后知道删除的是谁)
clear:将列表清空

del list1[1]
print(list1)
print(list1.remove('Java'))
print(list1)
print(list1.pop(0))
print(list1)
list1.clear()
print(list1)

下标
每个元素在列表中的位置。

list1 = ['蜘蛛侠', '环太平洋', '海王', '复仇者联盟']

正向下标,从0开始

负向下标,从-1开始

输出 海王

print(list1[2], list1[-2])

下标不能越界
越界报错IndexError: list index out of range

切片:左闭右开区间,从原来的容器中提取元素组成新的容器.切片可以越界。

print(list1[1:3])
#变量[M:N:step]

M:起始范围(不写M,默认从头开始取)
N结束范围(不写,默认取到尾)
step步长(step=1,可以不写);

list1 = ['蜘蛛侠', '环太平洋', '海王', '复仇者联盟']
print(list1[1:3])
print(list1[1:4:2])
print(list1[:4:2])
print(list1[::2])
print(list1[:])

1.起始范围和结束范围不写的时候,冒号必须存在;步长不写时,冒号不用写。
2.步长控制获取的元素,每间隔步长-1个元素获取一个元素(获取的当前元素+步长=下一个要获取的元素)
print(list1[::-1])
print(list1[4:1:-1])
3.M和N必须同符号:step>0,M<N;step<0,M>N。
print(list1[0:-1])
4.正向下标和负向下标可以组合使用

movies = [‘阿甘正传’, ‘肖申克的救赎’, ‘霸王别姬’, ‘三傻大闹宝莱坞’, ‘环太平洋’, ‘猿人泰山’]
练习:
a.获取[‘阿甘正传’、‘霸王别姬’、‘环太平洋’]
print(movies[:5:2])
print(movies[👎2])
print(movies[::2])
b.获取[‘肖申克的救赎’、‘环太平洋’]
print(movies[1:5:3])
print(movies[1👎3])
print(movies[1::3])
c.获取[‘环太平洋’、‘霸王别姬’、‘阿甘正传’]
print(movies[-2::-2])
d.获取[‘猿人泰山’、‘阿甘正传’]
print(movies[::-5])
e.获取[‘霸王别姬’]
print(movies[2:3])
a = []
a.append(movies[2])
print(a)
b = [movies[2]]
print(b)

循环(遍历)
movies = [‘阿甘正传’, ‘肖申克的救赎’, ‘霸王别姬’, ‘三傻大闹宝莱坞’, ‘环太平洋’, ‘猿人泰山’]
1.直接遍历
for i in movies:
print(i)

2.间接遍历
len()能够查看容器的长度

print(len(movies))
for i in range(len(movies)):
    print(movies[i])

3.enumerate():将列表转换为一个可迭代对象
print(enumerate(movies))
for i in enumerate(movies):
print(i)

练习:将下方列表中的元素从小到大排序。
list1 = [23, 56, 10, 55, 76, 100, 30]
[23, 56, 10, 55, 76, 100, 30]
[23, 10, 55, 56, 76, 30, 100]
[10, 23, 55, 56, 30, 76, 100]
每趟排序,排序次数 + 1 = 本趟排序的元素个数
外层循环控制趟数
for i in range(1, len(list1)):
print(f’这是第{i}趟排序’)
print(‘每趟排序开始前:’, list1)
for j in range(0, len(list1) - i):
print(‘每次排序的两个元素’, list1[j], list1[j + 1])
if list1[j] > list1[j + 1]:
list1[j], list1[j + 1] = list1[j + 1], list1[j]
打印每一趟排序的结果
print(list1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zack_36

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值