Python中列表的用法及其基本操作
列表是什么
序列是Python中最基本的数据结构。Python有6个序列的内置类型,最常见的是列表和元组。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表索引从0开始。列表可以进行截取、组合。
创建和使用列表
# 创建空列表
list1 = []
# 创建列表
list2 = ['physics', 'chemistry', 1997, 202]
访问列表的值
list2 = ['physics', 'chemistry', 1997, 202]
# 列表名称+索引 即可访问
list[0]
遍历列表
list2 = ['physics', 'chemistry', 1997, 202]
# 方法一 通过元素来遍历
for items in list2:
print(items)
# 方法二 使用索引来遍历
n = len(list2)
for i in range(n):
print(list2[i])
# 方法三 当然也可以用while循环
count = 0
while count < n:
print(list2[count])
count += 1
# 方法四 使用iter()
# iter() 函数用来生成迭代器
for val in iter(list2):
print(val)
# 方法五 使用enumerate()函数
# enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
for i,val in enumerate(list2):
print(i, val)
增加列表元素
list3=['eat', 'drink', 5, 7]
# 方法一 直接使用 “+” 运算符
# 本质上是创建了一个新列表,将原列表中的元素和新元素依次复制到新列表的内存空间。涉及大量元素的复制,该操作速度较慢,在涉及大量元素添加时不建议使用该方法
list3 = list3 + [23]
# 方法二 使用append()方法 当前列表尾部追加元素,原地修改列表
list3.append(45)
# 使用 extend方法
# extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
list3.extend([3,122])
# list3 :['eat', 'drink', 5, 7, 3, 122]
删除列表元素
list4 = [23, 45, 666, 120, 50]
# 删除整个列表
del list4
# 删除特定位置的元素
# del list[index]
del list4[1]
# 使用列表的pop方法
# pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
# 可以指定要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
list4.pop()
# 使用remove方法
# remove() 函数用于移除列表中某个值的第一个匹配项。
list4.remove(120)
切片操作
切片适用于列表、元组、字符串、range对象等类型。
切片可以截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素。
一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index、end_index、step)
lists = [2,3,5,6,9,12,14,17,34,56]
# 返回包含所有元素的新列表
lists[::]
# 逆序 返回包含所有元素的新列表
lists[::-1]
# 返回包含偶数位置的新列表
lists[::2]
# 也可以使用切片来修改列表
# 删除前两个元素
lists[:2] = []
列表的常用方法:
1 | list.append(obj) 在列表末尾添加新的对象 |
2 | list.count(obj) 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index, obj) 将对象插入列表 |
6 | list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) 移除列表中某个值的第一个匹配项 |
8 | list.reverse() 反向列表中元素 |
9 | list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序 |
列表的一些特性
- 列表中包含的是元素值的引用,而不是直接包含元素值
- list是一种有序的集合,可以随时添加和删除其中的元素,可以存储任意数据类型的集和