Python之列表(list)的操作

一、 列表简介

	列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等。
	列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作。
	可以通过list(seq)函数把一个序列类型转换成一个列表。

列表我们经常用到的功能是增、删、改、查。

二、 创建列表

#普通的变量形式。
tom = 'Tom'
jack = 'Jack'
john = 'John'
​
pet1 = 'cat'
pet2 = 'dog'
pet3 = 'bird'

#定义列表
name = ['Tom','Jack','John']
pet = ['cat','dog','bird']
​
#打印列表 
print(name)
print(pet)
​
['Tom', 'Jack', 'John']
['cat', 'dog', 'bird']

在这里插入图片描述

三、 基本操作
1.修改:通过索引获取元素,进行修改

#定义列表
name = ['Tom','Jack','John']
pet = ['cat','dog','bird']

#通过索引读取列表中的元素,索引从0开始.-1代表最后一个元素
print(name[0])
print(pet[2])
print(name[-1])
print(name[-2])

Tom
bird
John
Jack
In [8]:

#修改列表的元素
​name[1] = 'Sean'
print(name)

['Tom', 'Sean', 'John']

在这里插入图片描述

2.添加:

append(元素):在列表末尾添加。
insert(索引,元素):在列表指定位置插入。
基于上面继续操作
#在列表末尾添加新元素
​
name.append('Bob')
print(name)

['Tom', 'Sean', 'John', 'Bob']
#在列表指定位置添加新元素
print(pet)
pet.insert(0,'penguin')
print(pet)
pet.insert(-2,'pig')
print(pet)

[ 'cat', 'dog', 'bird']
['penguin', 'cat', 'dog', 'bird']
['penguin', 'cat', 'pig', 'dog', 'bird']
  1. 删除:
del:根据元素的索引删除元素
​被删除的元素不可以再进行访问

pop():pop():删除列表末尾的元素
pop(索引):弹出指定位置的元素
被删除的元素还能继续使用

remove(value):根据元素的值进行删除
#根据索引从列表中删除元素
print(pet)
del pet[0]
print(pet)

['penguin', 'cat', 'pig', 'dog', 'bird']
['cat', 'pig', 'dog', 'bird']
#删除列表末尾的元素pop()
print(pet)
new_pet = pet.pop()
print(new_pet)
print(pet)

['cat', 'pig', 'dog', 'bird']
bird
['cat', 'pig', 'dog']
#pop(索引):删除指定位置的元素
print(pet)
pet.pop(2)
print(pet)

['cat', 'pig', 'dog']
['cat', 'pig']
#remove:根据值删除元素
​pet.remove('pig')
print(pet)

['cat']
#删除不存在的值,会报错
pet.remove('pig')
print(pet)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-22-4f3764d6f272> in <module>
----> 1 pet.remove('pig')
      2 print(pet)

ValueError: list.remove(x): x not in list

4.列表的排序

sort():永久排序
sorted(列表):临时排序
sort(reverse=True):倒序排列元素
#定义列表:汽车的品牌
print('原始顺序')
brand = ['audi','bmw','toyota','byd','luhu']
print(brand)
​
​
#临时排序
print('临时排序')
print(sorted(brand))
print(brand)
​
​
#永久排序
print('永久排序')
brand.sort()
print(brand)
​
#倒序排列
print('倒序排列元素')
brand.sort(reverse=True)
print(brand)
​
​
原始顺序
['audi', 'bmw', 'toyota', 'byd', 'luhu']
临时排序
['audi', 'bmw', 'byd', 'luhu', 'toyota']
['audi', 'bmw', 'toyota', 'byd', 'luhu']
永久排序
['audi', 'bmw', 'byd', 'luhu', 'toyota']
倒序排列元素
['toyota', 'luhu', 'byd', 'bmw', 'audi']

总结:
基本操作
修改:通过索引获取元素,进行修改。
添加:在列表末尾添加:append(元素)
在列表指定位置插入:insert(索引,元素)

删除:del:根据元素的索引删除元素

被删除的元素不可以再进行访问

​ pop():pop():删除列表末尾的元素

​ pop(索引):弹出指定位置的元素

被删除的元素还能继续使用

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

列表的排序

​ sort():永久排序

​ sorted(列表):临时排序

​ sort(reverse=True):倒序排列元素

小练习:
1.

1、定义一个列表,存储5个科目名称
2、新增科目(末尾新增&指定位置新增)
3、修改科目
4、删除科目,并且在打印科目列表的时候,能够显示删除了哪个科目
5、删除指定名称的科目
6、删除第2个科目
#定义列表
sujet = ['数学','语文','英语','物理','化学']
print(sujet)

['数学', '语文', '英语', '物理', '化学']

#新增科目
#末尾新增
sujet.append('政治')
print(sujet)

['数学', '语文', '英语', '物理', '化学', '政治']


#指定位置新增
print(sujet)
sujet.insert(1,'历史')
print(sujet)

['数学', '语文', '英语', '物理', '化学', '政治']
['数学', '历史', '语文', '英语', '物理', '化学', '政治']

#修改科目
sujet[1] = '计算机'
print(sujet)

['数学', '计算机', '语文', '英语', '物理', '化学', '政治']


#删除科目
​print(sujet)
new_sujet = sujet.pop(0)
print(new_sujet)
print(sujet)

['数学', '计算机', '语文', '英语', '物理', '化学', '政治']
数学
['计算机', '语文', '英语', '物理', '化学', '政治']


#删除指定名称的科目
sujet.remove('语文')
print(sujet)

['计算机', '英语', '物理', '化学', '政治']


#删除第二个科目
del sujet[1]
print(sujet)

['计算机', '物理', '化学', '政治']

在这里插入图片描述

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

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

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

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

5、使用sort()方法排列城市名称,确保永久性修改排列顺序
#定义城市列表
print('城市列表')
city = ['zhijiang','beijing','wuhan','shijiazhuang','shanghai']
print(city)

城市列表
['zhijiang', 'beijing', 'wuhan', 'shijiazhuang', 'shanghai']



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

临时排序
['beijing', 'shanghai', 'shijiazhuang', 'wuhan', 'zhijiang']
['zhijiang', 'beijing', 'wuhan', 'shijiazhuang', 'shanghai']



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

永久排序
['beijing', 'shanghai', 'shijiazhuang', 'wuhan', 'zhijiang']

在这里插入图片描述


版权声明:本文为Bohua101原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。