python怎么修改列表数据_Python 列表(修改、添加、删除、排序)

本文介绍了Python列表的基础知识,包括如何创建、修改、添加和删除列表元素,以及如何对列表进行排序。通过示例展示了append、extend、insert、del、pop和remove等操作,并提供了排序方法sort和sorted的使用。还包含了一些实践练习,帮助巩固列表操作技能。

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

Python的基本数据类型有整数,浮点数,布尔,字符串,它们是最基本的数据。在实际编程中,我们要经常组织由很多基本数据组成的集合,这些集合的不同组织方式就是:数据结构,今天讲的是数据结构中的Python list(列表)。数据结构就是一些数据组合得到的“复合”数据类型。

20200312093522795546.png

Python内置的数据结构有:

列表(list)

元组(tuple)

字典(dict)

集合(set)

在Python语言中,以上4种数据结构和基础数据类型(整数、浮点数等)统称为“内置类型”(Built-in Types)。

一、什么是列表

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

(1)创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

# 定义列表

name = [‘Tom‘,‘Jack‘,‘John‘]

pet = [‘cat‘,‘dog‘,‘bird‘]

# 打印列表

print(name)

print(pet)

20200312093524312206.png

(2)用索引访问列表元素

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

# 通过索引读取列表中的元素,索引从0开始,-1代表最后一个元素

print(name[0]) #查看列表中第一个

print(pet[2]) #查看列表中第二个

print(name[-1]) #查看列表中最后一个

print(pet[-2]) #查看列表中倒数第二个

print (name[0:2]) #查看索引2之前的元素

20200312093525305408.png

二、基本操作

1、通过素引获取元素,进行修改

#修改列表的元素

name[1] = ‘Sean‘ #修改name列表,索引1的内容为Sean

print(name) #打印列表

20200312093525600341.png

2、 向列表里面加元素

向python列表里面添加元素主要有三种方法:

(1)append()

append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;

name.append(元素A)

# 在列表末尾添加新元素

name.append(‘Bob‘)

print(name)

20200312093525694095.png

(2)extend()

extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;

? name.extend([元素A,元素B,……])

name.extend([‘Xgp‘,‘Wsd‘])

print(name)

20200312093525727299.png

(3)insert()

insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。

? pet.insert(A,元素B):表示在列表m里面的第A+1处加入元素B

# 在列表指定位置添加新元素

print(pet)

pet.insert(0,‘penguin‘) #在列表最前面添加数据

print(pet)

pet.insert(-2,‘pig‘) #在列表倒数第三个添加数据

print(pet)

20200312093525775153.png

3、删减列表中的一些元素;

与之前python列表的添加元素相对,删减列表里面的一些元素也有三种方法:

(1)del pet[n]

它的作用是删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句。

del m[n]

# 根据索引从列表中删除元素

print(pet)

del pet[0] #删除开头的元素

print (pet)

20200312093525843515.png

(2)pet.pop()

它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉

Temp=pet.pop() %这里temp就会直接等于吗列表里最后一个元素。

Print(pet) %这里再次输出m的时候已经是删掉最后一个元素的m列表

pop():弹出列表末尾的元素

print(pet)

new_pet=pet.pop()

print(new_pet)

20200312093525870859.png

弹出指定位置的元素

# 弹出指定位置的元素

print(pet)

pet.pop(2)

print(pet)

20200312093525963636.png

(3)pet.remove()

m.remove的作用是移除掉列表m里面的特定元素;

m.remove(元素A)

# 根据元素的值进行删除:remove()

print(pet) #查看源列表

pet.remove(‘cat‘) #删除cat

print(pet) #打印列表

20200312093526061296.png

三、排序

(1)永久排序(正索引,从头到尾)

sort()排序方法:此函数方法对列表内容进行正向排序,排序后的新列表会覆盖原列表(id不变),也就是sort排序方法是直接修改原列表list排序方法。

(2)临时排序(正索引,从头到尾)

sorted()方法:即可以保留原列表,又能得到已经排序好的列表

(3)倒序(从头到尾从尾到头)

reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序整理。如果需要对列表中的参数进行整理,就需要用到列表的另一种排序方式sort正序排序。

(4)列表长度

len() 方法返回列表元素个数。

操作

# 定义列表:汽车的品牌

print(‘原始排序:‘)

brand = [‘audi‘,‘bmw‘,‘toyota‘,‘luhu‘]

print(brand)

#临时排序

print(‘临时排序:‘)

print(sorted(brand))

# 永久排序: sort()

print(‘正序排序:‘)

brand.sort()

print(brand)

# 倒序排序

print(‘倒序排序:‘)

brand.sort(reverse=True)

print(brand)

# 获取列表长度

print(‘列表长度:‘)

print(len(brand))

20200312093526140401.png

四、小练习

列表练习(一)

定义一个列表,存储5个科目名称

kemu = [‘语文‘,‘数学‘,‘英语‘,‘地理‘,‘生物‘]

print(kemu)

20200312093526236108.png

新增科目(末尾新增)

kemu.append(‘化学‘)

print(kemu)

20200312093526455843.png

修改科目

kemu[2] = ‘计算机‘

print(kemu)

20200312093526543737.png

删除科目,并且在打印科目列表的时候,能够显示删除了哪个科目

print(kemu)

new_kemu=kemu.pop(3)

print(new_kemu)

20200312093526755659.png

删除第2个科目

kemu.pop(1)

print(kemu)

20200312093526993949.png

指定位置新增

kemu.insert(0,‘科学‘)

print(kemu)

20200312093527635576.png

删除指定名称的科目

kemu.remove(‘生物‘)

print(kemu)

20200312093528155127.png

列表练习(二)

将5个城市的名称存储到列表中,并且保证名称不是按照字母顺序排列的

city = [‘北京‘,‘上海‘,‘广州‘,‘深圳‘,‘山西‘]

print(city)

20200312093528630731.png

打印出原始的城市列表信息

print(city)

20200312093528971564.png

使用sorted()方法按字母顺序打印城市列表,但是不要修改列表元素的顺序

print(sorted(city))

20200312093529113171.png

打印该列表,确认城市名称排列顺序没有被修改

print(city)

20200312093529343649.png

使用sort()方法排列城市名称,确保永久性修改排列顺序

city.sort()

print(city)

20200312093529933515.png

原文:https://blog.51cto.com/14320361/2477291

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值