列表
列表是存储数据的容器,列表是写在方括号[]之间、用逗号分隔开的元素列表,可以完成大多数集合类是数据结构实现。
列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(嵌套),列表中的元素是可以改变的。
1.定义列表
在Python中,通过方括号来[]定义列表。
list1 = [1,343,34] #列表元素为数字
list2 = ["hhhh","xxx"] #列表元素为字符串
list3 = [1,34,"你好",[2,453]] #列表元素数字、字符串和列表
2.列表的下标
列表下标从0开始,以中括号来做索引。通过下标可以对列表元素进行操作。
list = [1,34,"你好",[2,453]]
print(list[1]) #34
print(list[3]) #[2,453]
print(list[3][1]) #453
3.列表的基本计算
(1)列表的长度——len()
list = [1,34,23,5,3]
print(len(list)) #5
(2)更新列表
通过下标可以更新列表中某个元素的值。
list = [1,34,23,5,3]
list[2] = 66
print(list) #[1,34,66,5,3]
(3)列表加法
两列表相加是按照相加先后顺序,将列表所有元素融合成一个新的列表。
list1 = [1,2,3]
list2 = [23,45,3]
print(list1+list2) #[1,2,3,23,45,3]
注意:无论列表长度是否一致,都可以直接相加
(4)列表乘法
列表乘以某一整数,是对列表元素相应翻倍。
list = [1,2,3]
print(list*3) #[1,2,3,1,2,3,1,2,3]
(5)列表的切片取值
获取列表中某一段列表元素,以[开始:结尾]的格式来进行切片。
list = [1,34,45,23,2,3]
print(list[0:3]) #[1,34,45]
print(list[-3:-1]) #[23,2]
print(list[-3:]) #[23,2,3]
print(list[:]) #[1,34,45,23,2,3]
设置步长来进行取值
list = [1,34,45,23,2,3]
print(list[0:5:2]) #[1,45,2]
列边元素反向
list = [1,34,45,23,2,3]
print(list[::-1]) #[3,2,23,45,34,1]
(6)删除列表——del
在Python中,运用del关键字来删除列表,也可以用于删除列表中某个元素。
list = [1,2,3]
del list[1]
print(list) #[1,3]
(7)添加元素——append
在Python中,运用append关键字来在列表末尾添加指定元素。
list = [1,2,3]
list.append(4)
print(list) #[1,2,3,4]
(8)插入元素——insert()
运用insert()方法向列表中插入元素
list.insert(a,b)
第一个参数:是插入元素的位置
第二个参数:插入对象
list = [1,2,3]
list.insert(2,99)
print(list) #[1,2,99,3]
(9)清空列表——clear()
运用clear()方法可以清空列表中所有的元素。
list = [1,2,3]
list.clear()
print(list) #[]
(10)移除元素——remove() & pop()
在Python中,有两种方法可以用于移除元素:remove()和pop()
remove函数
remove()用于从列表中移除某一元素,其中,若列表中该元素重复,remove()指挥移除匹配到的第一个元素。
list = ["Karry","Joy","Jacson","Karry"]
list.remove("Joy")
print(list) #["Karry","Jacson"]
list.remove("Karry")
print(list) #["Jacson","Karry"]
pop函数
pop()用于指定位置元素的移除,即利用元素的指定下标来移除。
list = ["Karry","Joy","Jacson","Karry"]
list.pop(2)
print(list) #["Karry","Joy","Karry"]
并且,pop()可以返回要移除的元素。在默认情况下,移出列表中的最后一个元素。
list = ["Karry","Joy","Jacson","Karry"]
print(list.pop(2)) #Jacson
(11)列表索引——index()
index()用于返回所匹配元素的索引。
list.index(a,b,c)
第一个参数:查找对象
第二个参数:查找起始位置
第三个参数:查找结束范围
注意:查找范围在默认的情况下,会返回查找到的第一个匹配元素的索引
list = ["Karry","Joy","Jacson","Karry"]
list.index("Karry",0,2) #0
(12)列表的反向排列——reverse()
reverse()用于将列表反向排列
list = [2,34,2,1]
list.reverse()
print(list) #[1, 2, 34, 2]
(13)添加列表——extend()
extend()用于在列表末尾添加另一个列表。与append()相比,extend()可以一次性添加多个元素。
list1 = [2,34,2,1]
list2 = [1,24]
list1.extend(list2)
print(list1) #[2, 34, 2, 1, 1, 24]
注意:使用extend()和列表加法的结果是一样的,但是extend()是将另一个列表并入当前列表,而列表加法是返回新列表,使用extend()可以节约内存空间。
(14)复制列表——copy()
copy()是创建列表的副本,在对任一列表进行操作时,不会改变另一个列表。
list = ["Karry","Joy","Jacson","Karry"]
list_copy = list.copy()
print(list_copy) #["Karry","Joy","Jacson","Karry"]
(15)列表排序——sort()
sort()对列边元素进行排序,默认按照升序排序,并且只有同类型数据可以进行排序。
list = [1,34,6,222,12]
list.sort() #[1, 6, 12, 34, 222]
list.sort(reverse=True)#按降序排序
对字符串排序实质上是对元素的ASCII码来进行排序。
常见ASCII码大小规则:0~9<A~Z<a~z
list = ["hello","我","python","98","A"]
list.sort() #['98', 'A', 'hello', 'python', '我']
(16)元素次数——count()
count()用于统计某个元素在列表中出现的次数。
list = ["Karry","Joy","Jacson","Karry"]
print(list.count("Karry")) #2