Day05 python的基础知识及语法(列表)

一. 列表

1. 列表的作用:

 在程序中需要同时处理多个数据,这些数据用列表进行储存和处理比直接用多个变量更加简单。   

2.列表的定义:

  •  列表是python自带的一种容器型数据类型。将[ ]作为标志,里面用多个逗号隔开:

 [数据1,数据2,....... ]

  • 列表是可变的 (可变是指列表中的元素个数和值是可以变化的-)  支持增删改
  • 列表是有序的(其顺序影响结果,支持索引操作
  • 列表对元素(容器中每一个独立的数据)的要求:没有要求,而且同一个列表中的元素类型可以不一样。
list = [10, 1.23, 'abc', [10,20]]

3.空列表

  list[]

4. 列表中的个数

list = [
10,
[20,30],
[40,50]
]

# 这个列表中有3个元素

5.获取列表中的元素(查)

     1  .查单个: 一次获取列表中的某一个元素

      列表[ ] :    列表可以是具体的某一个列表,也可以是一个保存列表的变量

                       [ ]:  固定写法

                       索引: 列表中元素的位置信息,从0开始


 # 索引          -3   -2   -1
num = [12 , 34 , 45 , 54, 64 ]
#索引    0   1    2    3   4
        

   

games = ['英雄联盟', '王者荣耀', '原神', '和平精英', '穿越火线', 'QQ农场']
nums = [89, 672, 90, 12, 4]

print(games[-5])
print(games[1])

对应的都是 王者荣耀

 

        2. 切片:
  • 定义: 获取列表中的部分元素(列表切片的结果是小列表)

     语法:

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

          3. 如何看待切片的结果       
  • 第一步:看结果是否为空列表, 看从开始下标到结束下标的方向和步长对应方向是否一致(步长为正表示从前往后取,步长为负表示从后往前取)
games = ['英雄联盟', '王者荣耀', '原神', '和平精英', '穿越火线', 'QQ农场']
print(games[-1:2:-2])  #开始-1 结束2,从qq农场到元神, 步长为-2 ,从后往前。方向一致,不为空。
  • 第二步: 确定有效范围。 开始下标对应元素能取到,结束下标对应元素取不到
  • 第三步: 按照步长在有效范围内获取元素

6.切片代码的书写

  • 第一步:确定开始下标 - 就是目标数据中的第一个数据在列表中的索引值
  • 第二步:确定结束下标-   目标数据中的最后一个数据在列表中对应的后面那个元素(方向是从前往后取)或者前面那个元素(从后往前取)的下标。
  • 第三步: 确定步长的值

7.切片的省略写法: 完整的: 列表[ 开始下标:结束下标:步长]

  •  省略步长: 列表[开始下标:结束下标]     省略步长就是步长为1
  •  省略开始下标:列表 [ :结束下标:步长 ]   省略开始下标,获取元素的时候就从头开始取,这个头可能是第一个元素,也可能是最后一个元素(看步长的对应方向)
  •  省略结束下标: 列表[开始下标:: 步长]。 从开始下标开始直到取完为止

8. 遍历列表 (一个一个获取列表中所有元素)

  • 方法1: 直接遍历列表
for 变量 in 列表:
    循环体(变量依次获取到的就是列表中的每个元素)
games = ['英雄联盟', '王者荣耀', '原神', '和平精英', '穿越火线', 'QQ农场']
for i in games:
    print(i)

  打印列表中的每一个元素

  • 方法2 :通过遍历列表中元素下标来遍历元素(len() 获取列表的长度,获取索引值)
games = ['英雄联盟', '王者荣耀', '原神', '和平精英', '穿越火线', 'QQ农场']
for i in range(len(games)):
    print(games[i])

  9. 列表的增删改

   1. 增 :
  •   往列表中添加元素
  •   列表.append(数据)      - 在指定列表的最后添加指定数据
tvs = ['甄嬛传', '绝命毒师','风骚律师','回家的诱惑', '琅琊榜','权力的游戏']
print(tvs)
tvs.append('庆余年')
print(tvs)
  案例:写程序将nums中所有的元素都乘以2产生一个新的列表
nums = [90, 34, 55, 81, 30, 97, 76]
num = [90, 34, 55, 81, 30, 97, 76]
new_num = []
for i in num:
    i *= 2
    new_num.append(i)
print(new_num)

******************************************
num = [90, 34, 55, 81, 30, 97, 76]
new_num = []
for i in range(len(num)):
    new_num.append(num[i] * 2)
print(new_num)
 2. 增  列表.insert(下标,元素).  

    在列表中的指定下标对应的元素前插入指定元素

tvs = ['甄嬛传', '绝命毒师','风骚律师','回家的诱惑', '琅琊榜','权力的游戏']
tvs.insert(2,'庆余年')
print(tvs)
3. 删 :del 列表[下标] : 删除列表中指定下标对应的元素
  • 删除列表汇总已经存在的元素
tvs = ['甄嬛传', '绝命毒师','风骚律师','回家的诱惑', '琅琊榜','权力的游戏']
del tvs[1]
print(tvs)

#删除绝命毒师
4. 删: 列表.remove(元素)  -删除指定元素 (有多个相同元素,只会删除第一个)
tvs = ['甄嬛传', '绝命毒师','风骚律师','回家的诱惑', '琅琊榜','权力的游戏']
tvs.remove('绝命毒师')
print(tvs)
#删除绝命毒师
5. 删: pop()
  • 列表.pop():   取走列表中的最后一个元素,并且返回(是有结果的)
tvs = ['甄嬛传', '绝命毒师','风骚律师','回家的诱惑', '琅琊榜','权力的游戏']
tvs.pop()
print(tvs)
  • 列表.pop(下标): 取走列表中指定下标对应的元素,并且返回
tvs = ['甄嬛传', '绝命毒师','风骚律师','回家的诱惑', '琅琊榜','权力的游戏']
tvs.pop(0)
print(tvs)

# 取走甄嬛传
6. 改
  • 修改列表中元素的值
列表[下标] = '新数据'
tvs = ['甄嬛传', '绝命毒师','风骚律师','回家的诱惑', '琅琊榜','权力的游戏']
tvs[2] = '三国演义'
print(tvs)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值