当前位置 : 主页 > 编程语言 > python >

Python基础学习-5.列表

来源:互联网 收集:自由互联 发布时间:2022-06-15
5.列表 列表相当于其他语言的数组 列表的特点: 1.列表元素按顺序有序排序 2.索引映射唯一数据 3.列表可以存储重复数据 4.任意数据类型混存 5.根据需要动态分配和回收内存 a=10 #变量

5.列表

列表相当于其他语言的数组

列表的特点:

1.列表元素按顺序有序排序

2.索引映射唯一数据

3.列表可以存储重复数据

4.任意数据类型混存

5.根据需要动态分配和回收内存

a=10 #变量存储的是一个对象的引用 list=['hello','world',98] print(id(list)) print(type(list)) print(list) ------> 2276298158528 <class 'list'> ['hello', 'world', 98]

5.1列表的创建

'''创建列表的方式一,使用[]''' lst=['hello','world',98] '''建列表的方式二,使用内置函数list()''' lst2=list(['hello','world',98])

5.2列表的查询操作

获取列表中指定元素的索引

index():

如查询列表中存在N个相同元素,只返回相同元素中的第一个元素的索引

如果查询的元素在列表中不存在,则会抛出ValueError

可以在start和stop之间查找

获取列表中的单个元素

正向索引从0到N-1,举例 lst[0]

逆向索引从-N到-1 举例 lst[-N]

指定索引不存,抛出indexError

lst=['hello','world',45,'hello'] print(lst.index('hello')) #列表中存在N个相同元素,只返回相同元素中的**第一个元素**的索引 输出-------> 0 list=['red','green','blue','yellow'] #正向索引 print(list[0]) print(list[1]) print(list[2]) #反向索引 print(list[-3]) print(list[-2]) print(list[-1]) ==================> red green blue green blue yellow

列表脚本操作符

列表对+和的操作符与字符串相似,+号用于组合列表,*号用于重复列表

python表达式 结果 描述 len([1,2,3]) 3 长度 [1,2,3]+[4,5,6] [1,2,3,4,5,6] 组合 ['good!']*4 ['good!','good!','good!','good!'] 重复 3 in[1,2,3] True 元素是否存在列表中 for x in [1,2,3]:print(x,end="") 1 2 3 迭代

列表的的截取和拼接、嵌套

#截取操作 print('-----截取操作------') L=['Good','Morning','Lini'] print(L[2]) print(L[-2]) print(L[1:]) #拼接操作 print('-----拼接操作------') num = [1,3,5,6,7,8] num += [2,4,9] print(num) #嵌套操作 print('-----嵌套操作------') a = ['a','b','c'] n = [1,3,5] x = [a,n] print(x) print(x[0]) print(x[0][1]) ===================================》 -----截取操作------ Lini Morning ['Morning', 'Lini'] -----拼接操作------ [1, 3, 5, 6, 7, 8, 2, 4, 9] -----嵌套操作------ [['a', 'b', 'c'], [1, 3, 5]] ['a', 'b', 'c'] b

判断元素在列表是否存在

元素 in 列表名 元素 not in 列表名

5.2列表元素的遍历

迭代器:是访问集合元素的一种方式。迭代器对象可以从集合的第一个元素开始访问,直到所有元素 被访问结束。

迭代器两种方法:iter()和next()

for 迭代变量 in列表名: 操作

eg1:

lst=[10,20,'python','hello'] print('p' in 'python') print(10 in lst) print(100 not in lst) print('---迭代--') for item in lst: print(item) ===========> True True True ---迭代-- 10 20 python hello

eg2:

print('--------iter(),next()-------') list=[1,2,3,5] it = iter(list) print(next(it)) print(next(it)) print('---for遍历--') list1=[2,4,6,8] it = iter(list1) for a in it: print(a, end=" ") ==================================> --------iter(),next()------- 1 2 ---for遍历-- 2 4 6 8

5.3列表的增加操作

增加操作:

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

extend():在列表末尾至少添加一个元素

insert():在列表的任意位置添加一个元素

切片:在列表的任意位置添加至少一个元素

eg1:

#向列表末尾添加一个元素 lst1=[10,23,45] print('添加元素之前',lst1,id(lst1)) lst1.append(100) print('添加元素之后',lst1,id(lst1)) #在末尾位置一次性添加多个元素 lst2=['hello','world'] lst1.extend(lst2) print(lst1) #在列表任意位置上添加一个元素 lst1.insert(55,99) print(lst1) #在任意位置添加多个元素 lst3=[True,False,'hello'] lst1[1:]=lst3 #:没有指定位置直到末尾 print(lst1) ================================================》 添加元素之前 [10, 23, 45] 1586504758272 添加元素之后 [10, 23, 45, 100] 1586504758272 [10, 23, 45, 100, 'hello', 'world'] [10, 23, 45, 100, 'hello', 'world', 99] [10, True, False, 'hello']

5.4列表的删除操作

remove():一次删除一个元素,重复元素删除第一个,元素不存在抛出ValueError

pop():删除一个指定索引位置上的元素,指定索引不存在提示IndexError,不指定索引,删除列表中最后一个元素

切片:一次至少删除一个元素

clear():清空列表

del:删除列表

lst=[10,20,30,40,50,60,40] lst.remove(30) #从列表移除元素30 print(lst) #pop()根据索引移除元素 lst.pop(1) #删除了元素20 print(lst) lst.pop() #不指定参数(索引),将删除列表中的最后一个元素 print(lst) print('---切片操作-删除至少一个元素,将产生一个新的列表对象-----') new_list=lst[1:3] print('原列表',lst) print('切片后的列表',new_list) '''不产生新的列表对象,而是删除原列表中的内容''' lst[1:3]=[] print(lst) '''清除列表中的所有元素''' lst.clear() print(lst) '''del 语句将列表对象''' del lst ========================================》 [10, 20, 40, 50, 60, 40] [10, 40, 50, 60, 40] [10, 40, 50, 60] ---切片操作-删除至少一个元素,将产生一个新的列表对象----- 原列表 [10, 40, 50, 60] 切片后的列表 [40, 50] [10, 60] []

5.5列表的修改操作

为指定索引的元素赋予一个新值

为指定的切片赋予一个新值

eg1:把索引为2 的地方改为99

lst=[10,20,30,40] #一次修改一个值 lst[2]=99 print(lst) lst[1:3]=[300,400,500,600] print(lst) ================》 [10, 20, 99, 40] [10, 300, 400, 500, 600, 40]

5.6列表的排序操作

常见方式:

1.调用sort()方法,列表中所有元素按从小到大顺序排序,可以指定reverse=True,进行降序排序。

2.调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变。

eg1:排序操作

lst=[20,30,40,50,45,78,26] print('排序前的列表',lst) #排序,sort方法升序 lst.sort() print('排序后的列表',lst,id(lst)) #通过指定关键字参数,将列表元素降序 lst.sort(reverse=True) #降序 print(lst) lst.sort(reverse=False) #升序 print(lst) #调用内置函数排序 print('-------sorted()排序,生成新列表---------') lst1=[45,89,78,15,56] print('原列表',lst1) new_list=sorted(lst1) #升序 print(lst1) print(new_list) #指定关键字参数,将列表元素降序排序 desc_list=sorted(lst1,reverse=True) #降序 print(desc_list) ============================================》 排序前的列表 [20, 30, 40, 50, 45, 78, 26] 排序后的列表 [20, 26, 30, 40, 45, 50, 78] 3058413823296 [78, 50, 45, 40, 30, 26, 20] [20, 26, 30, 40, 45, 50, 78] -------sorted()排序,生成新列表--------- 原列表 [45, 89, 78, 15, 56] [45, 89, 78, 15, 56] [15, 45, 56, 78, 89] [89, 78, 56, 45, 15]

列表生成式:简称生成列表的公式

语法:由列表元素表达式、自定义变量、可迭代对象组成。列表元素表达式中包含自定义变量

[i*i for i in range(1,10)]

5.7总结

列表的创建:使用[],内置函数list(),列表生成式

列表的查询:查询元素索引、获取单个元素、获取多个元素、in/not in

列表增删改:

​ 增:append()、extend()、insert()、切片

​ 删:remove()、pop()、clear()、del、切片

​ 改:索引、切片

列表排序:方法sort()、内置函数sorted()

上一篇:Python基础学习-6.字典
下一篇:没有了
网友评论