如约而至,紧接着第一篇文章,小编将会陆续把自己精心做的全套Python笔记依次发放给大家,便于大家学习Python、期末备考、巩固基础等
(这几期是公众号小插曲,后期发放编程技术的话主要还是会围绕Java来展开,感谢小伙伴们的支持~)
列表
变量可以存储一个元素,而列表是一个大容器,可以存储N多个元素,程序可以方便地对这些数据进行整体操作
列表相当于其它语言中的数组
变量存储的是一个对象的引用,而列表存储的是多个对象的引用
列表的创建用 [] 或者内置函数list()创建
元素之间用,分割
列表元素按顺序有序培训
索引映射唯一一个数据
列表可以存储重复元素
任意类型混存
根据需要动态分配和回收内存
和java不同的是:从后往前采用的是负数索引比如第一个0的索引,它同时也是负数最后一个索引,java索引从0开始,无负数
如果列表中有多个元素,只返回列表中相同元素第一个元素的索引
在指定索引进行查找:
lst=['hello','world','99','hello']print(lst.index('hello',1,3)) #1-3不包括3,这里会报错找不到索引
获取列表中的多个元素
语法格式
列表名[start : stop : step]
切片的结果:原列表片段的拷贝
切片的范围,[start,stop)
step默认为1,简写为[stop,step]
lst=[10,20,30,40,50,60,70,80]print('原列表',id(lst))# 原列表 3184358125248lst2=lst[1:6:1]print('切的片段:',id(lst2))# 切的片段: 3184361791744print(lst[1:6]) # 默认步长为1 [20, 30, 40, 50, 60]print(lst[1:6:])# [20, 30, 40, 50, 60]print(lst[1:6:2]) # [20, 40, 60]print(lst[:6:2]) # [10, 30, 50]print(lst[1::2]) # [20, 40, 60, 80]print('----------step步长为负数的情况-----------------')print(lst[::-1]) # [80, 70, 60, 50, 40, 30, 20, 10] print(lst[6:0:-2])# [70, 50, 30]
列表元素的判断及遍历
for 迭代变量 in 列表名:
操作
print(10 in lst) #True
print(10 not in lst) #False
遍历
for item in lst:
print(item)
列表元素的增删改操作
增加
append():在列表的末尾添加一个元素
extend():在列表的末尾至少添加一个元素
insert():在列表的任意位置添加一个元素
切片:在列表的任意位置添加至少一个元素
id没变说明,append是在同一个列表中添加元素,每一个元素的id不同,但这个列表的id不变
lst=[10,20,30]print('添加元素之前',lst,id(lst)) lst.append(40)print('添加元素之后',lst,id(lst)) #添加元素之后 [10, 20, 30, 40]
将lst2作为一个元素添加到lst1的末尾
lst2=['hello','world']lst.append(lst2)print(lst) #[10, 20, 30, 40, ['hello', 'world']]
用extend()添加列表
lst2=['hello','world']lst.extend(lst2)print(lst)
在任意位置上添加一个元素
lst = [10,20,30]
lst.insert(1,90)
print(lst) #[10, 90, 20, 30, 40]
切片
lst.insert(1,90)print(lst) # [10, 20, 30, 40]lst3=[True,False,'hello'] # [10, 90, 20, 30, 40]lst[1:]=lst3print(lst) # [10, True, False, 'hello']
列表元素的删除操作
remove():一次删除一个元素
重复元素只删除第一个
元素不存在抛出ValueError
pop() :删除一个指定索引位置上的元素
指定索引不存在抛出IndexError
不指定索引,删除列表中最后一个元素
切片:一次至少删除一个元素
clear():清空列表
del:删除列表
lst=[10,40,50,60]new_list=lst[1:3]print('原列表:',lst) # 原列表:[10, 40, 50, 60]print('切片后的列表:',new_list) # 切片后的列表:[40, 50]#不产生原列表中的对象,而是删除原列表中的内容lst[1:3]=[]print(lst) # [10, 60]del lstprint(lst) # name 'lst' is not defined 既然删除了,那么就没有定义
列表元素的排序操作
常见的两种方式:
调用sort()方法,列表中所有元素默认按照从大到小顺序进行排序,指定reverse=True,进行降序排序,默认是False
调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变,id不会变
sort()是对原列表进行排序,sorted()是对新列表进行排序
列表生成式
列表生成式简称 生成列表的公式
语法格式:[ i * i for i in range(1,10) ]
i * i 表示列表元素的表达式,自定义, for后面的 i 表示自定义变量,range(1,10)表示可迭代对象
lst=[i for i in range(1,10)] #会产生一个1-9的整数序列,# 可以用[]括起来,这个列表中存的是产生的整数序列,产生的整数序列是i,所以在for之前加上iprint(lst) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
往期回顾
小白进阶必备入门~从Python安装->分支结构
微信公众号:索奇之家
索奇之家:探索各类互联网技术~ 优先发放java技术、其它编程语言技术、源代码、软件资料、数码迷惑、以及一些网络小技巧……Welcome home~