有序的可变容器,可以存储不同类型的元素。用中括号[]表示。
1、列表的查找访问
1.1、通过下标查找。
与字符串类似,列表也可通过 列表名[index] 的方式查找其中的元素。
索引的初始值为0,最大值为列表长度-1。
示例:
list1 = [1,2,3,4,5]
length_list1 = len(list1)
print(list1[0])
print(list1[length_list1-1])
print(list1[-1])
1.2、通过切片查找。
与字符串方法类似,直接看示例。
示例:
list1 = [1,2,3,4,5,6]
print(list1[::])
print(list1[:-1:2])
print(list1[-1::-1])
1.3、index方法
index:根据所给元素,查找其索引。其用法与字符串类似。
结果:成功则返回索引值,失败则报错。
示例:
list1 = [1,2,3,4,5,6]
print(list1.index(2))
print(list1.index(7))
2、列表的添加
添加:添加列表元素有三种方法,分别是append、insert和extend。
append:直接在列表尾部进行添加。
返回值:无。
示例:
list1 = [1,2,3,4]
list2 = list1.append(5)
list1.append(6)
print(list1)
print(list2)
每次只能添加一个元素。
insert:根据给定的索引位置,在前面添加。
返回值:无。
示例:
list1 = [1,2,3,4,5]
list2 = list1.insert(1,"666")
print(list1)
print(list2)
注意:示例的1为索引,不是列表的值。
extend:将两个列表在尾部进行合并。可理解为将另一个列表append到新列表的后面。
返回值:无。
示例:
list1 = [1,2,3]
list2 = [4,5,6]
list3 = list1.extend(list2)
print(list1)
print(list3)
由此可见,这三种添加方式是直接修改原列表的,并不需要新增列表去接收。
3、列表的修改
修改:直接通过索引下标去修改列表的元素。
示例:
list1 = [1,2,3,4]
list1[0] = "666"
print(list1)
还有一种,通过切片的方式修改。
示例:
list1 = [1,2,3,4]
list1[1:3] = [666,666]
print(list1)
请问,字符串可以跟列表一样,直接修改吗?
回答:不能。
示例:
str1 = "asdaf"
str1[0] = "1"
print(str1)
后面会谈到可变类型和不可变类型。
4、列表的删除
删除:共有三种方法,分别是pop、remove、del和clear。
pop:删除列表最后一个元素。
返回值:删除的那个元素。
示例:
list1 = [1,2,3,4,666]
list2 = list1.pop()
print(list1)
print(list2)
remove:删除匹配到的第一个元素。
返回值:无。
示例:
list1 = [1,2,3,4,666,666]
list2 = list1.remove(666)
print(list1)
print(list2)
del:删除指定索引的元素。
示例:
list1 = [1,2,3,4,666,666]
del list1[0]
print(list1)
clear:删除列表全部元素。
返回值:无。
示例:
list1 = [1,2,3,4,666,666]
list2 = list1.clear()
print(list1)
print(list2)
5、排序
sort:对列表内的元素按照大小进行排序。这里建议对数字进行排序。
参数:reverse(可选)。reverse=True,表示降序排列。默认为升序排列。
示例:
list1 = [1,6,2,8,5,3,0,9]
list1.sort()
print(list1)
list1.sort(reverse=True)
print(list1)