【Python】列表

目录

一、列表的概念

二、列表的创建

[1.变量名= .....](#1.变量名= [ ] .....)

[2.通过Python内置 的I ist类的构造函数来创建列表](#2.通过Python内置 的I ist类的构造函数来创建列表)

三、操作列表元素的方法

[1. 修改](#1. 修改)

[2. 增加元素](#2. 增加元素)

[3. 删除](#3. 删除)

[4. 其他操作](#4. 其他操作)

四、遍历列表

五、列表排序

[六、列表切片(list slicing)](#六、列表切片(list slicing))

七、列表的扩充

八、列表的复制

九、数值列表

创建

列表生成式

十、其他方法


一、列表的概念

  • List用来存储任意大小的数据集合。
  • 一个列表中可以包含任意个数据,每个数据称为元素。
  • 列表是Python中使用最频繁的数据类型,它是放在方括号 \[\] 内、用逗号分隔的一系列元素。
  • 列表中元素的类型可以不同,它支持数字、字符串甚至可以包含列表。换言之,列表允许嵌套。

二、列表的创建

1.变量名= .....

2.通过Python内置 的I ist类的构造函数来创建列表

使用list ()可以将任何可迭代的数据转化成列表

eg.1:

>>> lst = list("python")

>>> Ist

'p','y', t', "h', 'o', 'n"

eg.2

>>> lst = list(range(0,5))

>>> Ist

0,1,2,3, 4

>>> type(Ist)

<class 'list'>

三、操作列表元素的方法

1. 修改

列表名 索引 = 新值

2. 增加元素

  1. append()

列表名.append()

在列表最后添加单个元素

  1. insert()

列表名. insert(索引,新元素)

3. 删除

1.del

删除元素

del 列表名 索引

删除列表

def 列表名

  1. remove

列表名.remove(元素值)

  1. pop()

删除并返回值

空括号则删除列表最后一项并返回值

可使用

i = ls.pop()

删除并把某项的值赋给i

4. 其他操作

  1. len()

  2. 运算符 in 和 not in

字面意思,检查某元素是否在列表中,并返回布尔值True/False

  1. index()

查找指定元素

  1. 存在

返回索引

  1. 存在多个相同值

返回首个该元素的索引

  1. 不存在

报错

  1. count()

列表.count(元素)

计算某元素的个数

四、遍历列表

  1. 使用range()函数

for i in range() :

  1. 直接的元素遍历

for i in list:

五、列表排序

  1. sort()

升序(默认)

eg. list.sort()

降序

eg. list.sort(reverse=True)

  1. sorted()

区别:sort() 直接改变原列表,且没有返回值,sorted()不改变原列表,返回排序后的值,故可用它赋值给其他列表

语法:ls=sorted(ls1,reverse=?)

升序(默认)

eg. ls=sorted(ls1)

降序

eg. ls=sorted(ls1, reverse=True)

六、列表切片(list slicing)

语法: list 起始索引:终止索引

七、列表的扩充

可将两个列表连接成为一个新列表

ls = ls1 + ls2

  1. extend()

ls1. extend(ls2)

可将ls2连接在ls1后,并赋值给ls1

相当于ls1=ls1+ls2

  1. *

将列表中的元素重复多次

ls2=ls1*3

八、列表的复制

  1. 使用切片实现

ls1=ls :

  1. copy

ls1=ls.copy()

效果与切片相同

  1. 列表之间的赋值

ls1=ls

辨析:切片和copy()会生成一份原列表的备份(深拷贝),并将改备份赋值给新列表,列表之间的赋值是浅拷贝(让原列表多一个新的名字,调用时还是原来的列表,就是说两个列表名对应的列表会同时改变)

九、数值列表

创建

通过input()输入

输入时需要用eval()将input()内的字符串转为数值

通过list()转换

列表生成式

list= 循环相关表达式 for 循环变量 in range() 函数

十、其他方法

min()

max()

sum()

相关推荐
DLYSB_44 分钟前
API 网关流量洪峰与突发 CC 攻击:我用 Go 写了个“现场物理防御哨兵”,把故障响应压缩到秒级
开发语言·后端·golang·报警灯
matlabgoodboy3 小时前
计算机毕设代做|Java Python Matlab APP 全套开发设计
java·python·课程设计
雨田言炎3 小时前
四、关于Qt项目需要知道的
开发语言·笔记·qt
用户8356290780513 小时前
Python Word 转 PDF 和 PDF 转 Word 指南
后端·python
用户8356290780513 小时前
如何使用 Python 加密和保护 Word 文档
后端·python
Fluxproxy3 小时前
AI数据集采集、批量模型推理报错频发?AI项目网络稳定性优化实战
python·ai·ai编程
程序喵大人3 小时前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器
开发语言·c++·算法
hanlin033 小时前
动态规划专练:力扣第121、122题
笔记·算法·leetcode
SomeB1oody4 小时前
【RustyML入门】2.6. 线性判别分析
开发语言·后端·机器学习·rust·教程
Fanta丶4 小时前
10.Python class类的定义和魔术方法
python