列表是一个有序且可更改的集合。其可以存储任意数据类型的元素,包括整数、浮点数、布尔值、字符串、元组、列表、字典等。其具有特征如下:
1.列表中的元素是有序的,可以通过下标访问;
2.列表是可变的,即可以对列表进行增删改的操作;
3.列表可以包含任意类型的数据,包括其他列表。
创建列表
以变量赋值的形式进行列表的创建,如下:
mylist = [1, "2", 3]
上方则是声明了变量mylist
并赋值一个列表,该列表中包含了数字和字符串两种不同类型的数据。
在已有的列表中,与字符串去单个字符相同,可以使用索引的方式来访问列表中的元素。如下:
mylist = [1, "2", 3]
print(mylist[1])
# 输出字符串2
包括对于负数索引与切片的使用与字符串类型是一模一样的,此处不再详述。
修改列表中的元素
通过索引取值并修改该索引对应的元素值,如将上方列表中第三个元素修改为xiaomei
mylist = [1, "2", 3]
mylist[2] = "小美"
print(mylist) # [1, '2', '小美']
判断列表中是否存在指定元素
使用成员判断符in
能够判断列表中是否存在我们需要的元素值。如下:
mylist = [1, "2", 3]
if 1 in mylist:
print("数字1存在于列表中")
else:
print("数字1不存在于列表中")
执行结果:
获取列表长度
使用内置方法len()
可以获取列表的长度,如上方列表有三个元素,则长度为3,通过len方法返回的结果就是3,如下:
mylist = [1, "2", 3]
print(len(mylist))
# 3
列表常用方法
在列表中是存在着一些常用的方法的,可以通过这些方法往列表中添加、往指定位置插入、删除等。下面为这些常用方法的描述。
1.append(element):在列表的末尾添加一个元素;
2.insert(index, element):在指定的位置插入一个元素;
3.extend(iterable):在列表的末尾添加一个可迭代对象中的所有元素;
4.remove(element):从列表中删除第一个匹配给定元素的项;
5.pop(index=-1):删除并返回指定位置的元素。如果省略索引,则删除并返回列表中的最后一个元素;
6.clear():删除列表中的所有元素;
7.count(element):返回列表中指定元素的出现次数;
8.index(element):返回指定元素在列表中第一次出现的索引;
9.sort():将列表中的元素按升序排序;
10.reverse():将列表中的元素逆序排列。
示例代码:
# 创建一个空列表
my_list = []
# 在列表末尾添加一个元素
my_list.append(1)
# 在列表末尾添加一个可迭代对象中的所有元素
my_list.extend([2, 3, 4])
# 在指定位置插入一个元素
my_list.insert(1, 5)
# 删除列表中的第一个匹配给定元素的项
my_list.remove(2)
# 删除并返回指定位置的元素
elem = my_list.pop(3)
# 返回列表中指定元素的出现次数
count = my_list.count(1)
# 返回指定元素在列表中第一次出现的索引
index = my_list.index(3)
# 将列表中的元素按升序排序
my_list.sort()
# 将列表中的元素逆序排列
my_list.reverse()
# 删除列表中的所有元素
my_list.clear()
注意!上方示例代码中没有通过变量赋值的是没有返回结果的,也就是直接操作原列表,请看下图
合并两个列表
两个列表可以进行合并,合并的方法可以通过"+"运算符进行合并。
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3) # ['a', 'b', 'c', 1, 2, 3]
或者通过extend进行合并,如下:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1) # ['a', 'b', 'c', 1, 2, 3]
构造函数list()
创建列表,或者是将其他的序列集合(后面学习的集合、元组等)转换为列表,可以使用list()来实现,如下:
mylist = list((1, "2", 3)) # 双括号
print(mylist)
这里创建列表,但实际上就是将一个元组转换成了列表。