Python——列表的介绍和操作

列表的介绍和操作

问题

为什么会使用容器行数据??
变量 : 变化的数据
在编程中的操作,定义一个标识符,记录变化的数据
有些时候需要记录数据的变化,将变化的数据都保存起来,就需要容器型数据来进行存储

列表list:

可变的有序性容器
    可变:数据的值可以发生变化,可以修改、怎加、删除
    有序:容器存储数据的时候,容器中有多少个数据。会给数据设置编号,编号是从0开始的【从左边开始】
        可以通过编号定位获取这个位置的数据,也可以修改
        这个编号被称为下标/索引
数据在进行定义的时候,数据标识符是[],在[]中定义多个数据,数据之间使用逗号分隔
    比如:[19,20,22,33]
    数据的编号为 0 1 2 3
# 空列表
num_list1=[]

1.获取列表中元素个数

len(数据/变量名)
例如
num_list2=[19,20,22,33]
print(len(num_list2))
#输出结果:4

2.下标

下标:数据的一个编号,可通过这个编号获取或修改数据
    一般的编程语言中,编号就是从左向右,从0开始,加1递增
    Python对于下标有两种表达形式:
        1.正向索引——————从左向右
            0,1,2,3.....len(数据)-1
        2.负向索引——————从右向左
            -1,-2,-3....-len(数据)
    获取数据的时候可以使用正向索引也可以使用负向索引
    格式:
        列表数据[下标]====>代表的就是获取这个位置的数据
        数据列表[下标]=数据值 ====>修改这个位置的数据
    注意:
        下标不能超过编号的界限,否则报错
例如
# 正向索引获取
num_list2=[19,20,22,33]
print(num_list2[2])
# 输出结果:22

# 使用负向索引
print(num_list2[-2])
# 输出结果:22

# 修改数据
# 原数据 :[19,20,22,33]
num_list2[2]=55
print(num_list2)
# 输出结果:[19, 20, 55, 33]

3.切片

切片:提取子序列
    本质上根据下标定位到容器相应的位置,从指定的其实位置按照步长提取数据元素
    格式:
        例表数据[起始下标:结束下标:步长]
            步长为正,代表的是正向切片【根据位置从左向右按照步长取值】
                注意:其实下标定位的位置要在结束下标定位的位置的左边
            步长为负,代表负向切片【根据位置从哪个右向左按照步长取值】
                注意:起始下标定位的位置 要在 结束下标定位的位置 的右边
    解读:
        1):步长可以省略,步长默认为1
            列表数据[起始下标:结束下标]
                代表从起始下标对应的元素开始 逐个取值 到结束下标对应的位置[结束下标不包含]
        2) 起始下标可以省略
            看步长为正还是为负
                步长为正 代表从最左边开始
                步长为负  代表从最右边开始
        3) 结束下标也可以省略 
             看步长为正还是为负
                步长为正 代表到最右边结束
                步长为负  代表到最左边结束   
例如
scores = [76, 28, 39, 45, 57, 82, 91, 68]  # 8个数据
# 0 1 2 3 4 5 6 7
sub_scores = scores[1:7:1]
print(sub_scores)
# 输出结果:[28, 39, 45, 57, 82, 91]

# 等价于
sub_scores = scores[1:7]
print(sub_scores)
# 输出结果:[28, 39, 45, 57, 82, 91]

# 等价于  只是按照下标定位到列表相应的位置范围
sub_scores = scores[1:-1]
print(sub_scores)
# 输出结果:[28, 39, 45, 57, 82, 91]

# 前3个
sub_scores = scores[:3]
print(sub_scores)
# 输出结果:[76, 28, 39]

# 后三个
sub_scores = scores[-3:]
print(sub_scores)
# 输出结果:[82, 91, 68]

# 反转
sub_scores = scores[::-1]
print(sub_scores)
# 输出结果:[68, 91, 82, 57, 45, 39, 28, 76]

# 步长为2
sub_scores = scores[::2]
print(sub_scores)
# 输出结果:[76, 39, 57, 91]

4.增加数据的操作

增加数据的操作
    1.例表数据.append(数据) 把数据追加到列表末尾
    2.列表数据.insert(指定数据,数据) 在指定位置添加数据,原位置及其之后的数据都往后移动一位
例如
num_list3=['语文','数学','英语','体育']
# 增加一门Python课程
num_list3.append('Python')
print(num_list3)
# 输出结果:['语文', '数学', '英语', '体育', 'Python']

# 在1的位置添加政治
num_list3.insert(1, '政治')
print(num_list3)
# 输出结果:['语文', '政治', '数学', '英语', '体育', 'Python']

5.删除数据的列表

删除数据的列表
    1.数据列表.remove(数据) 将数据在列表中移除,如果数据有多个,只移除出现的第一个
    2.列表数据.pop() 将列表中最后一个元素移除
    3.列表数据.pop(位置) 将列表中指定位置的元素移除
    4.列表数据.clear() 清空列表
例如
# 删除表中的‘英语’
num_list3.remove('英语')
print(num_list3)
# 输出结果:['语文', '政治', '数学', '体育', 'Python']

# 将列表中最后一个元素移除
num_list3.pop()
print(num_list3)
# 输出结果:['语文', '政治', '数学', '体育']

# 将列表中第一个元素移除
num_list3.pop(0)
print(num_list3)
# 输出结果:['政治', '数学', '体育']

# 清空列表
num_list3.clear()
print(num_list3)
# 输出结果:[]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值