栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

列表的增、删、改,下标,切片,循环(遍历)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

列表的增、删、改,下标,切片,循环(遍历)

文章目录
    • 一、列表的增、删、改
    • 二、列表的下标和切片
    • 三、循环(遍历)

一、列表的增、删、改

列表:是能够存储各种数据的容器。列表是可变的。列表是有序的(下标)。

列表的容器符号[],list

  1. 创建一个空列表

    list = [ ]

  2. 可变 - 增、删、改

    • 增加元素:

      ​ append():追加

      ​ insert():插入

      list1.append('Python')
      list1.append('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开始

下标不能越界

#海王
list1 = ['蜘蛛侠', '环太平洋', '海王', '复仇者联盟']
print(list1[2], list1[-2])
# IndexError: list index out of range
# list1[100]
# list1[-100]

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

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

list1[1:3] 左闭右开区间[1:3),取1-2

list1 = ['蜘蛛侠', '环太平洋', '海王', '复仇者联盟']
print(list1[1:3])
print(list1[1:4:2])
print(list1[:4:2])
print(list1[::2])
print(list1[:])
  1. 起始范围和结束范围不写的时候,冒号必须存在;步长不写时,冒号不用写。

  2. 步长控制获取的元素,每间隔步长-1个元素获取一个元素(获取的当前元素+步长=下一个要获取的元素)

  3. M和N必须同符号:step>0,MN。

  4. 正向下标和负向下标可以组合使用

list1 = ['蜘蛛侠', '环太平洋', '海王', '复仇者联盟']
 #            0       1         2           3
 #           -1      -2       -3           -4
print(list1[::-1])
print(list1[4:1:-1])#范围是[4,1)即4,3,2,由于没有是,输出为3,2  ['复仇者联盟', '海王']
print(list1[0:-1])
movies = ['阿甘正传', '肖申克的救赎', '霸王别姬', '三傻大闹宝莱坞', '环太平洋', '猿人泰山']
# 练习:
# a.获取['阿甘正传'、'霸王别姬'、'环太平洋']
print(movies[:5:2])
print(movies[:-1:2])
print(movies[::2])
# b.获取['肖申克的救赎'、'环太平洋']
print(movies[1:5:3])
print(movies[1:-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)
三、循环(遍历)

循环(遍历)

1.直接遍历

movies = ['阿甘正传', '肖申克的救赎', '霸王别姬', '三傻大闹宝莱坞', '环太平洋', '猿人泰山']
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)
'''
(0, '阿甘正传')
(1, '肖申克的救赎')
(2, '霸王别姬')
(3, '三傻大闹宝莱坞')
(4, '环太平洋')
(5, '猿人泰山')
'''

练习:将下方列表中的元素从小到大排序。

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)
  print('每次排序的两个元素', list1[j], list1[j + 1])
    if list1[j] > list1[j + 1]:
        list1[j], list1[j + 1] = list1[j + 1], list1[j]
    # 打印每一趟排序的结果
    print(list1)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994567.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号