Python核心编程之基础课 06列表

6.列表

6.1 序列

6.1.1 基本概念

  • 是一种数据结构,是计算机中存储数据的一种方式。
  • 不同的方式,就是一种不同的数据结构。
  • 序列保存一组有序的数据,在数据当中有一个“位置”,称之为索引,按添加的顺序从0开始分配。

6.1.2 序列的分类

  • 可变序列
    如:列表
  • 不可变序列
    如:字符串,整数,元组

6.2 列表的定义和作用(list)

列表是Python中的一个对象,表现方式:list。
作用:可以保存多个有序的数据。

6.3 列表快速入门

  1. 创建空列表[]
### 创建空列表[]
lst = []
print(lst,type(lst))    ### [] <class 'list'>
  1. 元素
    元素:列表里存储的数据,称之为“元素”。
    向列表里添加多个元素,元素之间为英文下的,分隔。
lst = [1,2,"Hello"]
print(lst,type(lst))    ### [1, 2, 'Hello'] <class 'list'>
  1. 存储对象
    列表可以存储任意的对象,其元素可以是多种数据结构;且会按照插入的顺序存储。
    第一个元素在第一个位置,第二个元素在第二个位置,依此类推。
lst = [1,"Python",True,None,[2,3,4],(5,6,7),{
   "name":"Linda","sex":"女"}]
print(lst)
  1. 在列表中,通过索引(index)或下标获取列表中的元素;
    索引从0开始,列表的第一个位置的索引就是0,依此类推。
    超出索引最大位置就会报错:IndexError: list index out of range
lst = [10,20,30,40,50]
print(lst[0],lst[3])    ###10 40
print(lst[8]) #### IndexError: list index out of range
###len()函数可以获取列表的长度(或者列表元素的个数)
# print(lst[len(lst)])     ### IndexError: list index out of range
print(lst[len(lst)-1])     ### 50
  1. 列表的索引可以为负数,表示从右往左获取第1个、第2个、第3个元素…,依此类推;下标索引超出边界会报错IndexError: list index out of range
lst = [10,20,30,40,50]
print(lst[-1], lst[-2], lst[-4])    ###50 40 20
#print(lst[-8])    ### IndexError: list index out of range

6.4 切片

6.4.1 引入

切蛋糕,想切哪块切哪块。
与现实生活中切蛋糕的不同点在于,切片是从现有列表中,获取一个子列表,切片不影响原来的列表。

6.4.2 切片的语法

语法:列表[开始位置:结束位置:步长]
通过切片获取元素时,包括起始位置的元素,不包括结束位置的元素,即左闭右开[start:stop:step)。
切片结果:返回一个新的列表,不影响原有的列表。

hero = ["钢铁侠","葫芦娃","蜘蛛侠","黑寡妇","蚁人","美国队长"]
print(hero[0:2])    ### ['钢铁侠', '葫芦娃']
print(hero)         ### 原列表 ["钢铁侠","葫芦娃","蜘蛛侠","黑寡妇","蚁人","美国队长"]
hero2= hero[0:2]
print(hero2)        ### ["钢铁侠","葫芦娃"]

6.4.3 切片使用的综合案例

# """
# 案例:现在有a=[1,2,3,4,5,6],要求不通过函数的形式实现列表的反转[6,5,4,3,2,1],请写出推导过程。
# """
a=[1,2,3,4,5,6]
### 省略结束位置,则会从当前的开始位置一直截取到最后
print(a[0:])    ### [1, 2, 3, 4, 5, 6]
print(a[1:])    ### [2, 3, 4, 5, 6]

### 省略开始位置,则会从第一个元素开始到结束位置上的元素,不包括结束位置上的元素
print(a[:3])    ### [1, 2, 3]

### 开始位置和结束位置都省略,则会从第一个元素的开始到最后一个元素
print(a[:])     ### [1, 2, 3, 4, 5, 6]

### 步长可以理解为获取元素的间隔,默认值为1,可以省略
print(a[0:6:1]) ### [1, 2, 3, 4, 5, 6]
print(a[0:6:2]) ### [1, 3, 5]

### 步长为0,报错:ValueError: slice step cannot be zero
#print(a[::0])   ### ValueError: slice step cannot be zero
#print(a[0:6:0]) ### ValueError: slice step cannot be zero<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值