06-基础数据类型(列表)

本文介绍了Python中的列表(list)这一基础数据类型。列表是可变序列,支持多种操作,如访问元素、切片、修改、删除等。文章详细讲解了列表的创建、访问、切片语法、修改元素、删除元素、内置函数以及特殊操作,如列表的相加和相乘、排序与反转。此外,还提供了多个练习题以巩固学习。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1. 序列(sequence)

1.1 基本概念

• 序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引
• 数据结构指计算机中数据存储的方式

1.2 序列的分类

• 可变序列(序列中的元素可以改变):例如 列表(list)
• 不可变序列(序列中的元素不能改变):例如 字符串(str)元组(tuple)

2. 列表(list)

2.1 列表介绍

列表是 Python 中最基本也是最常用的数据结构之一,它是一个有序可重复的元素集合。从数据结构角度看,Python 的列表是一个可变长度的顺序存储结构,每一个位置存放的都是对象的指针。列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。第一个元素的索引是0,第二个索引是1,依此类推。
我们可对列表进行 修改、切片、追加、删除、嵌套、迭代、成员判断 等操作。

2.2 列表创建

通过[]来创建一个空列表
创建一个列表,只要把 逗号 分隔的 不同的数据元素 使用 方括号 括起来即可。
除此之外,我们还可以直接通过 list() 来进行创建列表。
注意:
1.变量名最好不使用 list
2.列表里的 元素 可以是 任意类型
3.iterable 表示 可迭代的对象,简单来说就是可以一个一个元素取出来的。比如:str

2.3 访问(查)列表内的元素

列表 从0开始 为它的每一个元素顺序创建 下标索引,直到 总长度减一 。要访问
它的某个元素,以方括号加下标值的方式即可。
注意:要确保索引不越界,一旦访问的 索引超过范围,会抛出异常。所以,一定要
记得最后一个元素的索引是 len(list)-1。

2.4 切片(截取)

切片是指从现有列表中获得一个子列表,可以通过切片来获取指定的元素

2.4.1 切片的语法

列表[起始 : 结束 : 步长](list[start : end : step])
以冒号分割索引,start代表起点索引(默认为0),end代表结束点索引(默认为最后一个元素),step为步长默认为1。
注意:

  1. 区间是左闭右开的。
  2. 起始位置和结束位置的索引可以不写
  3. 步长不能是0,但可以是是负数

2.5 修改列表内的元素

• 通过切片来修改(起始就是给切片的内容重新赋值,但是赋值的内容必须是一个序列)
• 当设置了步长时,序列中元素的个数必须和切片中元素的个数保持一致
直接 取出元素 进行 重新赋值
例如:li[0] = ‘A’

2.6 删除列表内的元素

直接 取出元素,再通过 del 语句 或者 list.remove() 或者 list.pop() 进行删除
del语句 --> del li[idx]
可用切片的方式删除,就是令切片结果等于一个空字符串
list.remove() --> 指定元素删除
list.pop() --> 根据索引位置删除并返回元素,不传递索引默认从最后一个开始删除

2.7 常用内置函数

len() --> 返回长度
max() --> 返回最大值
min() --> 返回最小值
注意:
1.字符串与字符之间比较转为 ascii
2.字符串与整数比较报错
3.以上方法都是 python 内置方法

2.8 列表的特殊操作

2.8.1 列表的相加和相乘

列表的相加:列表相加不是对应位置相加。而是拼接
列表的相乘:* 可以将列表重复指定的次数 (注意2个列表不能够做乘法,要和整数做乘法运算)

2.8.2 排序与反转

list.reverse() --> 将列表反转
list.sort(reverse=Fasle) --> 排序,默认升序

2.9 列表的常用函数汇总

L.append(object) --> 在列表末尾添加新的对象
L.count(object) --> 统计某个元素在列表中出现的次数
L.len() 获取列表中元素的个数
L.max() 获取列表中最大值
L.min() 获取列表中最小值
L.extend(iterable) --> 用新列表扩展原来的列表
L.index(value) --> 从列表中找出某个值第一个匹配项的索引位置
L.insert(index, object)–> 将对象插入列表
L.pop([index]) --> 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
L.remove(value) --> 移除列表中某个值的第一个匹配项
L.reverse() --> 反向列表中元素
L.sort(reverse=False) --> 对原列表进行排序
L.copy() --> 复制列表
L.clear() --> 清空列表

作业

作业1
现在有 a = [1,2,3,4,5,6] 以多种形式实现列表的反转([6,5,4,3,2,1])
在这里插入图片描述
作业2
给 用户9次机会 猜1 - 10 个数字随机来猜数字。如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。最终结果要求用户怎么也猜不对
在这里插入图片描述
作业3
有两个列表 lst1 = [11, 22, 33] lst2 = [22, 33, 44]获取内容相同的元素
在这里插入图片描述
作业4
现在有8位老师,3个办公室,要求将8位老师随机的分配到三个办公室中
在这里插入图片描述
作业5
现在有8位老师,3个办公室,要求将8位老师随机的分配到三个办公室中,要求每个办公室至少有一个老师

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值