首页 > 技术文章 > python列表操作详解:增、删、改、查、遍历等操作

feixiangshuoshuo 2020-03-01 21:27 原文

一、增加

(1)追加(append 函数)

  append函数是往列表中增加新元素,并将其放到列表的最后。注意append函数每次只能追加一个元素,追加两个或多个元素会报错。

a = [1, 2, 3, 4, 5]
a.append(6)
print(a)
结果:[1,2,3,4,5,6]
a.append(6,7) # 插入两个元素
报错:TypeError: append() takes exactly one argument (2 given)

(2)插入(insert)函数

  insert函数,使用格式:insert(index,object),index为索引位置,object为要插入的对象。例如:

a = [1, 2, 3]
a.insert(1,4)
print(a)
结果:[1, 4, 2, 3]

(3)合并(extend函数)

  extend函数是将两张列表合并为一张列表。

a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)
结果:[1, 2, 3, 4, 5, 6]

二、删除操作

(1)del直接删

 

num = [1, 2, 3]
del num[1] # 指定索引
print(num)
结果:[1, 3]

 

(2)pop删除

  pop函数不传参数的情况下,默认是从列表的末尾开始删除;也可传入参数,指定删除某个索引元素。

num = [1, 2, 3]
num.pop()
print(num)
结果:[1, 2]
num = [1, 2, 3]
num.pop(1) # 删除索引为1的元素
print(num)
结果:[1, 3]

(3)clear 删除

  clear函数是清空列表中的全部元素。

num = [1, 2, 3]
num.clear()
print(num)
结果:[]

三、修改操作

  修改操作,就是找到列表中的元素并将其进行重新赋值。

num = [1, 2, 3]
num[0] = 4
print(num)
结果:[4, 2, 3]

四、查找

(1)index 函数

  index函数是查找某个元素在列表中的索引位置,若结果存在,返回第一个所查元素的索引值,若不存在返回错误。使用格式:index(object,start,stop),其中object为要查找的元素,start为要查找范围的起始索引(包含),stop为要查找范围的结束索引(不包含)。

num = [1, 2, 3, 1, 4, 5]
a = num.index(1)  # 默认返回第一个元素的索引
print(a)
结果:0

a = num.index(1,1,3)  #不包含索引3
print(a)
结果:报错,ValueError: 1 is not in list

a
= num.index(1,1,4) print(a) 结果:3
a = num.index(1,0,4) # 包含索引0 print(a) 结果:0

 五、切片操作

  切片就像切面包,可以同时取出元素的多个值。格式为 num [start: end],包含start元素,不包含end元素,即顾头不顾尾。

num = [1, 2, 3, 4, 5]
print(num[1,3])
结果:[2, 3]
# 还可以倒着切 print(num[-3,-1] 结果:[3, 4] # 由于顾头不顾尾,故取不到5

# 想要得到5,采用如下方法切片 print(num[-3:]) 结果:[3, 4, 5] # 可以通过缺省end的方法切片得到最后一个元素

  此外,切片的时候还可以设置步长,允许跳着切。格式:num[start: end: step].

num = [1, 2, 3, 4, 5, 6, 7, 8]
print(num[0:6:2])
结果:[1, 3, 5]

  通过设置步长,实现列表反转:

num = [1, 2, 3, 4]
print(num[::-1])  # 通过把步长设置为负值,可以实现列表的反转
结果:[4, 3, 2, 1]

六、排序和反转操作

  python排序通过sort()函数来实现,比如:

num = [1, 2, 3, 4]
num.sort()
print(num)
结果:[4, 3, 2, 1]

 

  sort()函数不但对纯数字的列表进行排序,还可以对字符串、特殊字符等进行排序

info = ['张三', 'rain', '@', '姑娘', 'a', ‘4’,'#']
info.sort()
print(info)
结果:['#', '4', '@', 'a', 'rain', '姑娘', '张三']

  为什么是这个顺序呢,答案是sort()排序是按照ASC-II表进行排序的。

  

  python由专门的函数来对列表实现反转,即reverse()函数。

num = [1, 2, 3]
print(num.reverse()]
结果:[3, 2, 1]

七、遍历列表

  如何遍历读取列表中的每一个元素呢,答案是通过for循环进行遍历。

num = [1, 2, 3, 4]
for i in num:
    print(i)
结果:
1
2
3
4

 

 

推荐阅读