列表list
-
- python
-
- 1.列表的创建
- 2.列表的特点
- 3.列表的查询操作
- 4.列表的添加操作
- 5.列表的删除操作
- 6.列表的修改操作
- 7.列表元素的排序操作
- 8.列表生成式
python
- Python列表是一种可变的有序数据结构,可以存储任意类型的元素。列表中的元素可以通过索引访问,索引从0开始。可以使用索引来获取、修改或删除列表中的元素。
- 列表还支持一些常见的操作,如添加元素、合并列表、切片等。列表是 Python 中常用的数据结构之一,可以灵活地处理和操作数据。
1.列表的创建
- 列表用方括号 [] 表示,元素之间用逗号分隔。
- 创建方式:
1.使用中括号
lst = ['美羊羊','沸羊羊']
2.调用内置函数list()
lst2 = list(['美羊羊','沸羊羊'])
2.列表的特点
- 列表元素按顺序有序排列
- 索引映射唯一个数据
- 列表可以存储重复数据
- 任意数据类型混存
- 根据需要动态分配和回收内存
3.列表的查询操作
如查列表中存在N个相同元素,只返回相同元素中的第一个元素的索引 例:lst.index('美羊羊')
如果查询的元素在列表中不存在,则会抛出ValueError
还可以在指定的start和stop之间进行查找(包括start,不包括end)
正向索引从0到N-1 例:lst[0]
逆向索引从-N到-1 例:lst[-N]
指定索引不存在,抛出indexError
语法:列表名[start:stop:step]
切片的结果:原列表片段的拷贝
切片的范围:[start,stop)
step默认为1:简写为[start,stop)
step为正数:[:stop:step]->切片的第一个元素默认为列表的第一个元素->从start开始往后切
[start:step]->切片的最后一个元素默认是列表的最后一个元素->从start开始往后切
step为负数:[:stop:step]->切片的第一个元素默认为列表的最后一个元素->从start开始往后切
[start:step]->切片的最后一个元素默认是列表的第一个元素->从start开始往后切
元素 in 列表名
元素 not in 列表名
for 迭代变量 in 列表名:
操作
4.列表的添加操作
方法/其他 |
操作描述 |
append() |
在列表的末尾添加一个元素 |
extend() |
在列表的末尾至少添加一个元素 |
insert() |
在列表的任意位置添加一个元素 |
切片 |
在列表的任意位置添加至少一个元素 |
lst = [10, 20, 30]
lst.append(100)
print(lst)
lst2 = ['hello', 'world']
'''
lst.append(lst2) # 将lst2作为一个元素添加到列表的末尾
print(lst) # [10, 20, 30, 100, ['hello', 'world']]
'''
lst.extend(lst2)
print(lst)
lst.insert(1, 90)
print(lst)
lst3 = [True, False, 'hello']
lst[1:] = lst3
print(lst)
5.列表的删除操作
方法/其他 |
操作描述 |
remove() |
一次删除一个元素。重复元素只删除第一个。元素不存在抛出ValueError。 |
pop() |
删除一个指定索引位置上的元素,指定索引不存在抛出IndexError。不指定索引,删除列表中最后一个元素 |
切片 |
一次至少删除一个元素 |
clear() |
清空列表 |
del |
删除列表 |
lst = [10, 20, 30, 40, 50, 60, 30]
lst.remove(30);
print(lst)
lst.pop(1)
print(lst)
lst.pop()
print(lst)
new_list = lst[1:3]
print(new_list)
lst[1:3] = []
print(lst)
lst.clear()
print(lst)
del lst
6.列表的修改操作
- 为指定索引的元素赋予一个新值
- 为指定的切片赋予一个新值
lst = [10, 20, 30, 40]
lst[2] = 100
print(lst)
lst[1:3] = [300, 400, 500, 600]
print(lst)
7.列表元素的排序操作
- 两种常用方法
- 方法1:调用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序/升序(不产生新列表)
- 方法2:调用内置函数sorted(),可以指定reverse=True,进行降序/排序,原列表不发生改变(产生新列表)
lst = [20, 40, 10, 98, 54]
lst.sort()
print(lst)
lst.sort(reverse=True)
print(lst)
lst1 = [20, 40, 10, 98, 54]
new_list = sorted(lst1)
print(new_list)
new_list1 = sorted(lst1, reverse=True)
print(new_list1)
8.列表生成式
语法格式:[i(表示列表元素的表达式) for i(自定义变量) in range(1, 10)(可迭代对象)]
lst = [i for i in range(1, 10)]
print(lst)
lst2 = [i * 2 for i in range(1, 6)]
print(lst2)