列表:能够存储多个同一或不同元素的序列,能够包含不同类型的数据,如str,int;同str和元组不同,列表的内容是可直接修改的
序列:一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。-----序列是有序集的通用术语
序列类型包括:字符串、列表、元组、集合、字典
补充:列表不能直接打印和修改内容有关的代码(如sort,reverse)结果,但是可以直接打印不涉及修改列表内容的方法(如查找方法index,count)
num1 = [1,3,4,2]
print(num1.sort()) #这行只是打印sort排序这个方法,而不是数据
print(num1.index(3))
#打印排序后的数据
print(num1)
None
2
[1, 2, 3, 4]
目录:增、删、改、查、排序、列表嵌套
增
代码 功能 例子
append() 向列表末端添加单个变量 list.append()
extend() 将另一个列表中的元素逐一添加到列表中 list.extend()
insert() 按索引(index)指定位置插入元素 list.insert()
1.append() 向列表末端添加单个变量
list1 = ['joe','mike','mina']
name = input('请输入你的名字:')
list1.append(name)
print(list1)
请输入你的名字:zoe
['joe', 'mike', 'mina', 'zoe']
2.extend() 将另一个列表中的元素逐一添加到列表中
和append()对比
num1 = [1,2,3]
num2 = [4,5,6]
num1.extend(num2)
print(num1)
[1, 2, 3, 4, 5, 6]----extend可添加多个,它将num2里的元素逐一添加
num1 = [1,2,3]
num2 = [4,5,6]
num1.append(num2)
print(num1)
[1, 2, 3, [4, 5, 6]] ----append只能添加一个元素,它将num2看成一个元素添加
3.insert() 按索引(index)指定位置插入元素
num1 = [0,2,3]
num1.insert(1,1)
print(num1)
[0, 1, 2, 3] ----- 在num1下标为1的位置添加数字1
删
代码 功能 例子
del 根据下标进行删除 del list[索引位置]
删除整个列表,若之后打印列表,则会报错 del list
pop 删除最后一个元素 list.pop()
remove 根据指定元素的值进行删除 list.remove()
clear 清空列表内全部内容 list.clear()
1.del 根据下标进行删除
num1 = [1,2,3,'a']
del num1[3]
print(num1)
[1, 2, 3]
删除整个列表,若之后打印列表,则会报错
num1 = [1,2,3,'a']
del num1
print(num1)
print(num1)
NameError: name 'num1' is not defined
2.pop 删除最后一个元素
num1 = [1,2,3,'a']
num1.pop()
print(num1)
[1, 2, 3]
3.remove 根据指定元素的值进行删除
num1 = [1,2,3,'a']
num1.remove('a')
print(num1)
[1, 2, 3]
4.clear 清空列表内全部内容
num1 = [1,2,3,'a']
num1.clear()
print(num1)
[]
改
因为列表是可改序列,因此和str不同,列表不需要设新变量就可以直接修改原来的数据
num1 = [1,2,3,'a']
num1[3]=4
print(num1)
[1, 2, 3, 4]
str改元素,若想打印修改后的变量,需要先设置新的变量再打印
str1 = '123a'
str1.replace('a','4')
print(str1)
str2 = str1.replace('a','4')
print(str2)
123a---str1
1234----str2,修改后新设置的变量
查------查元素是否在列表里;查元素索引位置;查元素出现次数
代码 功能 例子
in 如果存在那么结果为true,否则为false object in list
not in 如果不存在那么结果为true,否则false object not in list
index 查元素索引位置 list.index(object,从哪开始找,到哪结束) count 查元素出现次数 list.count(object)
1.in 和 not in 查元素是否在列表里
name = ['joe','mike','amy','bob']
name1 = input('请输入名字:')
print(name1 in name)
print(name1 not in name)
请输入名字:amy
True
False
2.index 查元素索引位置
name = [1,2,2,2,1,4,5,2,'a']
print(name.index(2))
print(name.index(2,4,))
1 --- 第一个2出现在下标为1的位置
7---- 在下标为4以后的范围找,在下标为7的位置找到2
3.count 查元素出现次数
name = [1,2,2,2,1,4,5,2,'a']
print(name.count(2))
4
排序
代码 功能 例子
sort 将list按特定顺序重新排列,默认为由小到大 list.sort()
reverse 将列表内容逆置 list.reverse()
reverse=True 可改为倒序,由大到小 list.sort(reverse=True)
1.sort 将list按特定顺序重新排列,默认为由小到大
num1 = [1, 3, 5, 2, 6, 8]
num1.sort()
print(num1)
[1, 2, 3, 5, 6, 8]
2.reverse 将列表内容逆置
num1 = [1, 3, 5, 2, 6, 8]
num1.reverse()
print(num1)
[8, 6, 2, 5, 3, 1]
3.reverse=True 可改为倒序,由大到小
num1 = [1, 3, 5, 2, 6, 8]
num1.sort(reverse=True)
print(num1)
[8, 6, 5, 3, 2, 1]
列表嵌套:列表之中出现列表
取值(利用元素的索引位置取值),改值
num1 = [1,2,3,['a','bd','c'],[4,5,6]]
print(num1[3])
#将b修改为0
num1[3][1] = num1[3][1].replace('b','0')
#因为字符串不能直接修改原来数据,所以要重新给它赋值,相当于'bd'='bd'.replace('b','0')
print(num1)
['a', 'bd', 'c']
[1, 2, 3, ['a', '0d', 'c'], [4, 5, 6]]