Python列表------list
列表是一个有序的,可变的数据集合,是python中最常用的数据类型,其结构类似于C语言中的数组,用一对方括号来表示,在这对方括号中,其内元素可以是i任意数据类型,也可以没有任何元素成为空列表
1.创建列表
python创建列表的方法有许多种,下面简单介绍一下:
1-1 [ ] 创建
# 创建一个列表只需要把逗号分隔的不同数据项使用方括号 [] 括起来即可
# 创建空列表
a = []
# 创建非空列表
a = [1,2,3,'Tom','Jerry'].
1- 2使用list()函数创建列表
new_list = list(('apple', 'banana', 'orange'))
# 此时对应的列表为
a = ['apple', 'banana', 'orange']
1- 3使用列表推导式创建列表
a=[x*2 for x in range(100) if x%9==0]
# 此时对应生成的列表为
a = [0,18,36,54,72,90,108,126,144,162,180,198]
2.列表元素的获取,访问
2-1 通过索引访问
列表的下标(索引)是从0开始的,也就是方括号中的数据第一个的下表就是0,其后依次增加
# 正向索引:从第一个(下标0)开始、第二个(下标1)…
a = ['apple', 'banana', 'orange']
print(a[1])
print(a[0])
# 反向索引:从倒数第一个(下标-1)、倒数第二个(下标-2)…
a = ['apple', 'banana', 'orange']
print(a[-1])
print(a[-2])
运行结果:
2-2 通过切片访问
语法: list_name[strat : end : step]
其中list_name表示列表名称,start表示开始切片下标,end表示结束切片下标,step表示步长,其中step可以省略,省略时默认步长为1。这里需要特别注意一下,切片访问列表元素时,[strat:end]这里是前闭后开,所以无法访问到下标为end的元素。
a = ['apple', 'banana', 'orange',1,2,3,4,5,6]
print(a[1:5:2])
print(a[1:5])
运行结果:
2-2 通过循环遍历访问
可以使用for来遍历访问列表元素
a = ['apple', 'banana', 'orange',1,2,3,4,5,6]
for i in a:
print(i)
运行结果:
3.操作列表
我们操作列表最常见的无非就是增删改查,下面我们分别来看看如何对列表进行增删改查的操作
3-1 增
向列表中增加元素我们最常用 的就是append方法。
name_list = ["小明", "小红", "小张","小王"]
name_list.append("小程")
for i in name_list:
print(i)
运行结果:
有时候也会使用extend方法,但是需要注意的是,extend方法extend()向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加
name_list = ["小明", "小红", "小张","小王"]
name_list.extend("小郑")
print(name_list)
运行结果:
通过上图我们可以看出,extend()方法是在原有列表尾部追加元素,而extend()方法的参数是一个 列表,他会将列表中的所有元素都追加到原有列表。
还有一个常用的是insert方法,它是向列表中指定位置插入元素
name_list = ["小明", "小红", "小张","小王"]
name_list.insert(2,"小郑")
print(name_list)
运行结果:
insert(par1,par2),其中参数一表示指定列表下标,参数二表示插入的元素,insert() 方法会向一个列表中指定位置的地方插入一个元素。
3-2 删
del会在指定下标位置删除一个元素,del listName[index] 其中listName代表列表名称,index代表索引(下标)
musicName = ["七里香", "可爱女人", "蒲公英的约定", "说好的幸福呢", "夜曲"]
print("-------删除前,音乐列表的数据--------")
print(musicName)
del musicName[3]
print("-------删除后,音乐列表的数据--------")
print(musicName)
运行结果:
pop():会删除列表中最后一个元素
musicName = ["七里香", "可爱女人", "蒲公英的约定", "说好的幸福呢", "夜曲"]
print("-------删除前,音乐列表的数据--------")
print(musicName)
musicNamne.pop()
print("-------删除后,音乐列表的数据--------")
print(musicName)
运行结果:
remove():删除指定内容的元素。并且当数据中出现多个重复内容的数据时,只删除其找到的第一个数据。
musicName = ["七里香", "可爱女人", "蒲公英的约定", "说好的幸福呢", "夜曲","蒲公英的约定"]
print("-------删除前,音乐列表的数据--------")
print(musicName)
musicName.remove("蒲公英的约定")
print("-------删除后,音乐列表的数据--------")
print(musicName)
运行结果:
3-3 改
我们一般修改列表元素的时候会使用下表访问到该元素,然后重新赋值
musicName = ["七里香", "可爱女人", "蒲公英的约定", "说好的幸福呢", "夜曲"]
print("-------修改前,音乐列表的数据--------")
print(musicName)
musicName[3] = "园游会"
print("-------修改后,音乐列表的数据--------")
print(musicName)
运行结果:
3-4 查
通常会使用in not in来查找该元素
musicName = ["七里香", "可爱女人", "蒲公英的约定", "说好的幸福呢", "夜曲"]
searchName = input("请输入您需要查找的元素:")
if searchName in musicName:
print("该元素在列表中!")
else:
print("该元素不在此列表中!")
运行结果:
在列表中,还有许多内置方法没有提到,后续回统一整理,如有不足,还望批评指正!