Python中对List的操作

本文详细介绍了Python中的List数据结构,包括创建、添加、插入、弹出、删除等基本操作,以及如何进行排序、反转和遍历等高级操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学以致写,写已致学

List是个什么?

list是序列,有序的列表。Python中一个最基本的数据结构。其中的每个元素都对应分配一个索引号,索引号从0开始以此类推。牢记list[0]就是实际list中第一个元素!!!
list是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。创建一个列表很简单如下所示:

List_1=[]

此时我们已经创建了一个名为List_1的空列表,往list中插入元素有以下几种方法:

List_1=[1,2,3,'a','b','c'] #创建时直接赋值
print(List_1)
List_1.append('d') #使用append()方法在列表最后插入元素
print(List_1)
List_1.insert(3,4) #使用insert()方法在指定位置(list[3])插入元素‘4’
print(List_1)
List_2=['e','f']
List_1.extend(List_2) #使用extend方法在列表末尾一次性追加另一个序列中的多个值
print(List_1)

以上代码输出结果如下所示:

[1, 2, 3, 'a', 'b', 'c'] 
[1, 2, 3, 'a', 'b', 'c', 'd'] 
[1, 2, 3, 4, 'a', 'b', 'c', 'd'] 
[1, 2, 3, 4, 'a', 'b', 'c', 'd', 'e', 'f']

List还有哪些基本操作?

list基本操作有添加,插入,弹出,删除,延长,运算,查找,排序,反转,遍历等,之前已经展示了添加(append)、插入(insert)、延长(extend)三个方法的用法,下面将展示剩余7个list的基本操作。

弹出(pop)

List_1=[1,2,3,'a','b','c']
List_1.pop()
print(List_1)
x=List_1.pop()
print(x)
List_1.pop(2)
print(List_1)

pop()方法,弹出指定序号的的元素,未指定序号则默认为-1,即最后一个元素,弹出后原list中的该元素被删除,并可将该元素赋值给变量。程序运行结果如下所示:

[1, 2, 3, 'a', 'b']
b
[1, 2, 'a']

删除remove()

List_1=[1,2,3,'a','b','c','a']
List_1.remove('a')
print(List_1)
    remove(obj)方法可以移除任一列表中的元素(仅限所遇到的第一个与obj相同的元素,如两个‘a’,只会移除第一个),运行结果如下:
[1, 2, 3, 'b', 'c', 'a']

运算

List_1=[1,2,3]
List_2=[4,5,6]
print(List_1+List_2)
print(List_1*3)
List_1+=List_2
print(List_1)

list是可以进行+, +=,*的运算的,list*3表示将list中的元素复制三份,代码运行结果如下:

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[1, 2, 3, 4, 5, 6]

查找

List_1=[1,2,3,'a','b','c','a']
print(List_1.index('a'))
print(2 in List_1)
print('d' in  List_1)

list中可以使用index方法从列表中找出某个值第一个匹配项的索引位置。也可以通过 obj in list 返回true 或flase 来判断列表中是否存在obj这个元素,代码运行结果如下:

3
True
False

排序sort()

List_1=[4,1,2,3]
List_1.sort()
print(List_1)
List_1.sort(reverse=True)
print(List_1)
def sort_test(elem):
    return elem[1]     # 指定第二个元素排序
List_2 = [(2, 2), (3, 4), (4, 1), (1, 3)]
List_2.sort(key=sort_test)
print( List_2)

sort方法语法格式:list.sort(cmp=None, key=None, reverse=False)。
cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)
运行结果如下:

[1, 2, 3, 4]
[4, 3, 2, 1]
[(4, 1), (2, 2), (1, 3), (3, 4)]

反转 reverse()

List_1=[1,2,3,'a','b','c']
List_1.reverse()
print(List_1)

reverse方法就是将list中的元素反转,运行结果如下:

['c', 'b', 'a', 3, 2, 1]

遍历

List_1 = [1,2,3,[4,5,6]]
for i in List_1:
    print(i)

单层list遍历很简单,直接for i in list就能完成所有工作,结果如下:

1
2
3
[4, 5, 6]

如果想要遍历到两层List_1中的最后一个元素[4,5,6],则可以将代码变为:

for i in List_1:
    if isinstance(i,list):
        for j in i:
            print(j)
    else:
        print(i)

运行结果如下:

1
2
3
4
5
6

更复杂的多层遍历,或者list中元组,字典的遍历可以参考以下链接:
https://blog.csdn.net/seetheworld518/article/details/46756355

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值