Python基础 列表(列表的各种使用方式)

简介: Python自动化编程基础,Python列表的使用方式


变量可以存储一个元素,而列表是一个大容器,可以储存N个元素,程序可以方便的对这些数据进行处理
​​​​​​​列表的特点:
1.列表元素按顺序有序排序
2.索引映射唯一一个数据
3.列表可以存储重复数据
4.任意数据类型混存
5.根据需要动态分配和回收内存
""""""
列表的查询操作:
可以用in和not in查询元素是否在列表内
print(元素 in 列表名)
print(元素 not in 列表名)

index() #使用方法: 列表名.index(列表内的元素)
特点:
获取列表中指定元素的索引
1.如果查询到列表中存在N个相同的元素,只返回相同元素中的一个元素的索引
2.如果查询的元素在列表中不存在,则会抛出ValueError
3.还可以在指定的start和stop之间进行查找

获取列表中单个元素
1.获取单个元素,正向索引从0到N-1 举例:list(0)
2.逆向索引从-N到-1 举例:lst[-N]
3.指定索引不存在,抛出indexError

获取列表中多个元素(切片)
切片是原列表片段的拷贝
语法格式:

列表名[start:stop:step]

注意:

不写step的话,步长默认为1,切片的范围(start,stop)

step步长为正数,从start开始,往后计算切片。
例:

[start:stop] 没有step,默认步长为1
[:stop:step] 切片的第一个元素默认是列表的第一个元素
[start::step] 切片的最后一个元素默认是列表的最后一个元素

step步长为负数,从start开始,往前计算切片。

[:stop:step] 切片的第一个元素默认是列表的最后一个元素
[start::step] 切片的第一个元素默认是列表的第一个元素

列表的每一个元素都有自己的正负索引值
例:
索引 -7 -6 -5 -4 -3 -2 -1
数据 "hello" "world" 123 98.6 "world" 125 "world"
索引 0 1 2 3 4 5 6
"""创建列表的第一种方式,使用[]"""
hua=[123,"abc","奥特曼","pass",123]
print(hua)

print(hua.index("abc"))
print(hua.index("奥特曼",1,3)) #在索引1,2里寻找"奥特曼"这个元素,如果未找到,则返回ValueError
"""列表的第二种创建方式,使用内置函数list()"""
zhi2=list([888,"bbq","迪迦","python"])
print(zhi2[0]) #获取列表里索引为0的元素
print(zhi2[-4]) #获取列表索引为-4的元素
print(zhi2[-10]) #没有这个索引,IndexError: list index out of range
列表的增加操作:
append() 在列表的某位添加一个元素
extend() 在列表的末尾至少添加一个元素
insert() 在列表的任意位置添加一个元素
切片 在列表的任意位置添加至少一个元素
例:

在末尾添加一个元素 列表名.append()

lst=[10,20,30]
print("添加元素之前",lst,id(lst))
lst.append(100)
print("添加元素之后",lst,id(lst))

向列表的末尾一次性添加多个元素 列表名.extend(lst2)

lst2=["hello","world"]
lst.append(lst2)
print("使用append添加",lst)
lst.extend(lst2)
print("使用extend添加",lst)

在任意指定的位置添加元素 列表名.insert(位置,添加的元素)

例:在列表名为lst,索引为1的元素后面添加一个元素99。 lst.insert(1,99)

lst.insert(2,"yes")
print(lst)

在任意位置上添加N多个元素,切片。

例:

lst3=[True,False,"hello"]
lst[1:]=lst3 #从索引为1开始往后的全部切除,替换为lst3的列表上的元素
print(lst)
列表元素的删除操作:
remove() 一次删除一个元素,重复元素只删除第一个,元素不存在则抛出ValueError
pop() 删除一个指定索引位置上的元素,指定索引不存在抛出IndexError,不指定索引,删除列表中最后一个元素
切片 一次至少删除一个元素
clear() 清空列表
del 删除列表
hua=[10,20,30,40,50,60,30]
hua.remove(30) #从列表中移除一个元素,如果有重复,则一处第一个
print(hua)

hua.pop() #不指定索引的话,则删除最后一个
print(hua)
hua.pop(1) #删除索引为1的元素
print(hua)

切片删除,lst[1,3] 删除索引1到索引3的元素,删除索引1和索引2的元素

清除列表中的所有元素 列表名.clear()

删除列表 del lst

"""
修改列表
"""
zhi=[10,20,30,40]

一次修改一个值

zhi[3]=888
print(zhi)

一次修改多个值,切片替换

zhi[1:3]=[300,400,500,"yes"] #将索引为1和2的元素替换为别的元素,替换的元素可以比切片的元素多或者少
print(zhi)
列表的排序

wei=[70,20,33,99,22,520]
print("排序前的列表",wei)
wei.sort() #不赋值,默认是升序
print("排序后的列表",wei)
wei.sort(reverse=True) #reverse=True 降序排序 False是升序
print(wei)
列表生成式

huawei=[i for i in range(1,10)] #for循环将值赋给开头的i,列表的值等于i
print(huawei)

huawei1=[i*i for i in range(1,10)] #i可以使用任何算数表达式,可以和人数数字相加相减
print(huawei1)

相关文章
|
11天前
|
Python
在 Python 中,对列表进行排序有两种常用的方法
在 Python 中,对列表进行排序有两种常用的方法
|
2天前
|
Python
|
17天前
|
Python
Python编程实战:如何将列表组装成一棵树结构
本文介绍了如何在Python中将列表转换为树结构。首先定义`TreeNode`类表示节点,包含值和子节点列表。然后,通过`list_to_tree`函数递归地将列表转为树。此外,还提供了添加和删除节点的方法。文章旨在帮助读者理解和操作树结构,以解决实际编程问题。
Python编程实战:如何将列表组装成一棵树结构
|
3天前
|
存储 Python
Python中使用列表和字典来存储和处理复杂的数据结构
Python中使用列表和字典来存储和处理复杂的数据结构
|
1天前
|
存储 索引 Python
字符串、列表、元组、字典(python)
字符串、列表、元组、字典(python)
|
4天前
|
存储 Python
Python中列表解包
【6月更文挑战第18天】
12 2
|
5天前
|
存储 数据处理 计算机视觉
Python中的列表处理:获取与设置缩略图的艺术
Python中的列表处理:获取与设置缩略图的艺术
8 1
|
5天前
|
Python
python 中列表和元组的解包
【6月更文挑战第17天】
15 1
|
6天前
|
Java C语言 Python
Python语言的列表推导式怎么写
Python语言的列表推导式怎么写
|
10天前
|
Python
Python列表推导式是一种简洁的创建新列表的方式,它允许你在一行代码中完成对数据的操作和转换
【6月更文挑战第19天】Python列表推导式是创建新列表的简洁语法,它在一行内处理数据。表达式如`[expr for item in iterable if cond]`,其中`expr`是对元素的操作,`item`来自`iterable`,`if cond`是可选过滤条件。例如,将数字列表平方:`[x**2 for x in numbers]`。嵌套列表推导处理复杂结构,如合并二维数组:`[[a+b for a,b in zip(row1, row2)] for row1, row2 in zip(matrix1, matrix2)]`。简洁但勿过度复杂化。
21 5