Python - 数据容器list(列表)
创始人
2024-05-06 17:06:54
0

目录

列表的定义

列表的下标(索引)

列表的常用操作

查找某元素的下标index

修改特定位置(索引)的元素值

插入元素insert

追加元素append

追加元素方式extend

删除元素pop与del

删除某元素在列表中的第一个匹配项remove

清空列表内容clear()

统计某元素在列表内的数量count

统计列表内元素len

使用方法总结

列表特点

列表的遍历


列表的定义

列表内的每一个数据,称之为元素

  • 以 [] 作为标识

  • 列表内每一个元素之间用, 逗号隔开

my_list=['csdn',"ssss",666,True,[1,2,3]]
print(my_list)
print(type(my_list))

注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套

列表的下标(索引)

正向索引:从前向后的方向,从0开始,依次递增

反向索引:从后向前:从-1开始,依次递减(-1、-2、-3......)

my_list=['csdn',"ssss",666,True,[1,2,3]]print(my_list[0])
print(my_list[1])
print(my_list[2])
print(my_list[-1])
print(my_list[-2])
print(my_list[-3])
csdn
ssss
666
[1, 2, 3]
True
666

嵌套的列表同理

my_list2=[[1,2,3],[4,5,6],[7,8,9]]
print(my_list2[0][0])
print(my_list2[-1])
print(my_list2[-1][-1])
1
[7, 8, 9]
9

列表的常用操作

查找某元素的下标index

功能:查找指定元素在列表的下标,如果找不到,报错ValueError

语法:列表.index(元素)

index就是列表对象(变量)内置的方法(函数)

my_list=['csdn',"ssss",666,True,[1,2,3]]
tmp=my_list.index(666)
print(tmp)
2

修改特定位置(索引)的元素值

语法:列表[下标] = 值

可以使用如上语法,直接对指定下标(正向、反向下标均可)的值进行:重新赋值(修改)

my_list2=[[1,2,3],[4,5,6],[7,8,9],666]
my_list2[-1]=777
my_list2[2][1]=888print(my_list2)
[[1, 2, 3], [4, 5, 6], [7, 888, 9], 777]

插入元素insert

语法:列表.insert(下标, 元素),在指定的下标位置,插入指定的元素

my_list=['csdn',"ssss",666,True,[1,2,3]]
my_list.insert(1,789)
print(my_list)
['csdn', 789, 'ssss', 666, True, [1, 2, 3]]

追加元素append

语法:列表.append(元素),将指定元素,追加到列表的尾部

my_list=['csdn',"ssss",666,True,[1,2,3]]
my_list.append([6,6,6])
my_list.append(False)
print(my_list)
['csdn', 'ssss', 666, True, [1, 2, 3], [6, 6, 6], False]

追加元素方式extend

语法:列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部

my_list=['csdn',"ssss",666,True,[1,2,3]]
my_list.extend([123,"sb",[6]])
print(my_list)
['csdn', 'ssss', 666, True, [1, 2, 3], 123, 'sb', [6]]

删除元素pop与del

语法1: del 列表[下标]

语法2:列表.pop(下标)

pop删除元素并返回删除的元素

my_list=['csdn',"ssss",666,True,[1,2,3]]
my_list.pop(0)
print(my_list)tmp=my_list.pop(2)
print(my_list)
print(tmp)
['ssss', 666, True, [1, 2, 3]]
['ssss', 666, [1, 2, 3]]
True

del为指定删除,不返回删除元素

my_list=['csdn',"ssss",666,True,[1,2,3]]
del my_list[0]
print(my_list)del my_list[-1]
print(my_list)
['ssss', 666, True, [1, 2, 3]]
['ssss', 666, True]

删除某元素在列表中的第一个匹配项remove

语法:列表.remove(元素)

删除从前往后第一个元素

my_list=['csdn',True,"ssss",True,666,True,[1,2,3]]
my_list.remove(True)
print(my_list)my_list.remove([1,2,3])
print(my_list)
['csdn', 'ssss', True, 666, True, [1, 2, 3]]
['csdn', 'ssss', True, 666, True]

清空列表内容clear()

语法:列表.clear()

my_list=['csdn',"ssss",666,True,[1,2,3]]
my_list.clear()
print(my_list)
[]

统计某元素在列表内的数量count

语法:列表.count(元素)

my_list=['csdn',"ssss",666,True,[1,11,"111",'1'],1,1,1]
num1=my_list.count(1)
num2=my_list.count("csdn")
print(num1)
print(num2)
4
1

可见,count会查找容器里面所以同类型元素,包括嵌套容器里面的

统计列表内元素len

语法:len(列表)

my_list=['csdn',"ssss",666,True,[1,11,"111",'1']]
num=len(my_list)
print(num)
5

不包括嵌套容器里面元素

使用方法总结

编号

使用方式

作用

1

列表.append(元素)

向列表中追加一个元素

2

列表.extend(容器)

将数据容器的内容依次取出,追加到列表尾部

3

列表.insert(下标, 元素)

在指定下标处,插入指定的元素

4

del 列表[下标]

删除列表指定下标元素

5

列表.pop(下标)

删除列表指定下标元素

6

列表.remove(元素)

从前向后,删除此元素第一个匹配项

7

列表.clear()

清空列表

8

列表.count(元素)

统计此元素在列表中出现的次数

9

列表.index(元素)

查找指定元素在列表的下标

找不到报错ValueError

10

len(列表)

统计容器内有多少元素

列表特点

经过上述对列表的学习,可以总结出列表有如下特点:

  1. 可以容纳多个元素(上限为2**63-1、9223372036854775807个)

  1. 可以容纳不同类型的元素(混装)

  1. 数据是有序存储的(有下标序号)

  1. 允许重复数据存在

  1. 可以修改(增加或删除元素等)

列表的遍历

- while循环

my_list=['csdn',True,"ssss",True,666,True,[1,2,3]]
index=0while index
csdn
True
ssss
True
666
True
[1, 2, 3]
['csdn', True, 'ssss', True, 666, True, [1, 2, 3]]

- for循环

my_list=['csdn',True,"ssss",True,666,True,[1,2,3]]
for i in my_list:print(i)
print(my_list)
csdn
True
ssss
True
666
True
[1, 2, 3]
['csdn', True, 'ssss', True, 666, True, [1, 2, 3]]

while循环和for循环,都是循环语句,但细节不同:
在循环控制上:

while循环可以自定循环条件,并自行控制

for循环不可以自定循环条件,只可以一个个从容器内取出数据
在无限循环上:

while循环可以通过条件控制做到无限循环

for循环理论上不可以,因为被遍历的容器容量不是无限的
在使用场景上:

while循环适用于任何想要循环的场景

for循环适用于,遍历数据容器的场景或简单的固定次数循环场景

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...