Python精通-Python列表操作

本文深入讲解Python中的列表数据类型,包括基本操作、中级操作及高级操作。覆盖for循环、while循环、切片、方法调用等内容,适合各水平读者。

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

导语
  在之前的关于Python的分享中对于基本数据类型中字符串、布尔值等做了详细的分享。接下来的内容就是在Python中的另一个比较重要的基本数据类型列表,关于列表在之前对于字符串进行切分的时候简单的提到过这个系列的分享就是对于列表的内容的扩展。

列表(list)

  在Python中把使用中括括起来的,中间使用逗号分隔的一类数据表现叫做列表。列表中的元素可以是数字、字符串、列表、布尔值等等。其实对于列表来说其实就是一个高级集合,它的内部可以放入任何的数据类型。列表中的元素是以逗号为标志进行分隔。

li = [11,12,'nihui',[123,"age"],"test"];

li = [11,12,'nihui',[123,"age",[1,"A","B"]],"test"];


对于一个列表来说,可以使用如下的方式,使用索引来获取列表中指定位置的值,同样列表也支持切片。通过切片的方式获取到的值也是一个列表。

li = [11,12,'nihui',[123,"age",[1,"A","B"]],"test"];

print(li[0])

print(li[3:-1])

for循环

for item in li:
    print(item)

while循环

i = 0;
while(i<len(li)):
    print(li[i])
    i+=1;

列表基本操作

  在Python中对于列表中的元素是底层是使用链表的方式进行存储,所以说,在内存中对于列表的存储是不连续的。而链表这种数据结构它有着插入删除速度快,但是查找慢的缺点。从这个角度上讲列表的元素是可以被修改的。那么它是怎么被修改的呢?

按照索引进行修改

li = [11,12,'nihui',[123,"age",[1,"A","B"]],"test"];
li[1]=100;
print(li)

删除的第一种方式

li = [11,12,'nihui',[123,"age",[1,"A","B"]],"test"];
li[1]=100;

li[0]=["A","b",123]

# 删除的第一种方式
del li[1]
print(li)

通过切片的方式进行修改

li = [11,12,'nihui',[123,"age",[1,"A","B"]],"test"];
li[1:3]=[123,1111]
print(li)

通过切片的方式进行删除

li = [11,12,'nihui',[123,"age",[1,"A","B"]],"test"];
del li[2:6]
print(li)

支持in操作

li = [11,12,'nihui',[123,"age",[1,"A","B"]],"test"];
v = 12 in li
print(v)

列表中级操作

  在类型转换的过程中,其实在内部操作中就是一个类似于循环的操作,但是这个操作有一个前提就是对于可迭代的对象,而对于数字这种不可迭代的对象则不能直接使用列表进行转换。

字符串到列表的转换
这样的转换会将整个的字符串按照字母进行分隔,这样的方式就是将一个字符串转换成了一个列表。

s = "wreqasdafdsfa"
new_li = list(s)
print(new_li)

列表转换为字符串
  使用下面这种操作是不可以的,这种操作只是将整个列表当做一个大的字符串进行操作。

c_li = [11,22,33,"123","nihui"]
r = str(c_li)
print(r)

在这里插入图片描述
当既包含数字又包含字符串的时候,需要自己编写循环实现转换操作,通过这样的方式可以将一个列表转换成一个规定的字符串。如下面这段代码所示

c_li = [11,22,33,"123","nihui"]
s = ""

for i in c_li:
    s = s + str(i)
print(s)

在这里插入图片描述
如果列表中的元素只有字符串的时候可以使用如下这种方式来进行列表到字符串之间的转换操作

s_li = ["123","1231","ninihiu"]
v = "".join(s_li)
print(v)

列表高级操作

def append(self, *args, **kwargs)

表示字符串尾部增加对应的参数。

  在这里先来演示一个错误的示范

li = [11,22,33,44]

v = li.append(5)

print(v)

在这里插入图片描述

li = [11,22,33,44]

v = li.append(5)

print(v)

print(li)

在这里插入图片描述
通过上面的例子结合之前的分析,在操作一个列表的时候,如果进行了append操作,则不需要使用新的值进行保存。

def clear(self, *args, **kwargs)

清空列表信息

li = [11,22,33,44]
li.clear()
print(li)
def copy(self, *args, **kwargs)

列表拷贝操作:这里指的是浅拷贝,既然是拷贝操作,当完成拷贝之后就需要新值来进行接收操作。

li = [11,22,33,44]
v = li.copy()
print(v)
def count(self, *args, **kwargs)

计算元素出现的次数

li = [11,22,33,44]
v = li.count(22)
print(v)
def extend(self, *args, **kwargs)

扩展可迭代对象,也就是说将可迭代对象进行循环然后添加到list中。这里要注意extend和append的区别

li = [11,22,33,44]
li.extend([111,"nihui"])
print(li)
def index(self, *args, **kwargs)

查找某个值的索引位置。最左优先原则

li = [11,22,33,44]
v = li.index(33)
print(v)
def insert(self, *args, **kwargs)

使用这个方法可以在某个位置,插入对应的值

li = [11,22,33,44]
li.insert(0,99)
print(li)
def pop(self, *args, **kwargs)

删除一个数据,并且获取到对应的值,默认情况下删除最后一个元素。

li = [11,22,33,44]
v = li.pop();
v1 = li.pop(1);
print(li)
print(v)
print(v1)
def remove(self, *args, **kwargs)

按照从左到右开始的指定值

li = [11,22,33,44]
li.remove(22)
print(li)
注意

  这里总结一下删除列表中元素的方法,del 加索引或者切片的方式可以删除,使用pop、remove可以删除,clear也可以看做一个删除操作。

def reverse(self, *args, **kwargs)

将列表的元素进行首尾反转操作

li = [11,22,33,44]
li.reverse()
print(li)
def sort(self, *args, **kwargs)

将列表的元素的元素按照指定规则进行排序

li = [11,55,22,44,77]

li.sort()
print(li)

li.sort(reverse=True)
print(li)

总结

  上面的内容就是对于列表的全部的基本功能的操作,从最简单的开始到分析每个方法,介绍了每个方法的使用规范,并赋上对应的示例。希望大家支持分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nihui123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值