目录
列表的定义
列表的下标(索引)
列表的常用操作
查找某元素的下标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(列表)
|
统计容器内有多少元素
|
列表特点
经过上述对列表的学习,可以总结出列表有如下特点:
可以容纳多个元素(上限为2**63-1、9223372036854775807个)
可以容纳不同类型的元素(混装)
数据是有序存储的(有下标序号)
允许重复数据存在
可以修改(增加或删除元素等)
列表的遍历
- while循环
my_list=['csdn',True,"ssss",True,666,True,[1,2,3]]
index=0while index<len(my_list):
e=my_list[index]
print(e)
index+=1print(my_list)
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循环适用于,遍历数据容器的场景或简单的固定次数循环场景