python关于list(列表)知识补充

列表:能够存储多个同一或不同元素的序列,能够包含不同类型的数据,如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]]


python关于list(列表)的代码

举报
评论 0