Python基础-->列表

  1. 列表

变量只能存储一个元素,而列表相当于一个“大容器”,可以存储多个元素(元素的类型不限),这样程序就可以对列表中的元素进行整体操作。

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

列表图示:lst=[10,20,"笑猫","rubbish",36]

0 1 2 3 4 索引

10

20

"笑猫"

"rubbish"

36

-5 -4 -3 -2 -1 索引

#变量存储实际就是变量的一个引用,列表是对多个元素的引用
lst=[10,20,"笑猫","rubbish",36]
print(id(lst))
print(type(lst))
print(lst)
  1. 列表的创建

第一种使用“[ ]”

第二种使用内置函数list()

lst1=[10,20,"笑猫","rubbish",36]  #使用“[]”进行创建
lst2=list([10,20,"笑猫","rubbish",36])  #使用内置函数list()进行创建
  1. 列表的特点

(1)列表中数据按顺序排列

(2)列表中的允许出现重复值,允许嵌套存储

(3)存储数据类型任意

(4)列表的元素用"[ ]"包裹,每个元素之间用","间隔开。

(5)根据需要可以动态的分配与回收内存

  1. 列表的查询

  1. 索引值的获取:index(目标元素,start,stop)

如果你查找的元素不在此列表中,则会抛出一个"ValueError"错误

lst=[10,20,"笑猫","rubbish",36,10]
print(lst.index(10))    #获取数据为10的索引值,若是有重复的数据,返回值为最小索引值
print(lst.index("rubbish",1,5))   #从第2个元素(lst[1])开始到第五个元素(lst[4])之间寻找数据“rubbish”的索引值。   查找范围类似 [start,stop)
  1. 获取列表中的单个元素

lst=[10,20,"笑猫","rubbish",36]
print(lst)
print(lst[2])
print(lst[-1])
  1. 获取列表中的多个元素-->切片操作:他是对原列表片段的一个拷贝,生成一个新的列表

语法格式:

列表名[start : stop : step ]

lst=[10,20,"笑猫","rubbish",36]
print(lst[0:4:2])  #从第一个元素到第四个元素之间,以每两步为基准计算切片
print(lst[::2])     #从第一个元素到最后一个元素之间,以每两步为基准计算切片
print(lst[1::2])   #从第二个元素到最后一个元素之间,以每两步为基准计算切片
print(lst[:3:2])   #从第一元素到第三个元素之间,以每两步为基准计算切片
print(lst[::-1])   #从第一个元素到最后一个元素之间,以逆向的方式查找获取元素(当step为负数时,列表的最后一个元素为start,列表的第一个元素为stop,从start开始往前计算切片)
  1. 判断指定元素在列表中是否存在

元素 in 列表名

元素 not in 列表名

lst=[10,20,"笑猫","rubbish",36]
10 in lst
"hudgs" not in lst
  1. 列表元素的遍历

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

lst=[10,20,"笑猫","rubbish",36]
for item in lst :
    print(item)
  1. 列表元素的增加操作

  1. 在列表末尾直接增加一个元素: append()

lst=[10,20,"笑猫","rubbish",36]
lst2=["fighting","python"]
lst.append("carrot")  #在列表末尾直接增加一个元素
lst.append(lst2)       #添加的列表lst2,也是以一个元素的形式添加在lst列表当中
  1. 在列表末尾中增加多个元素:extend()

lst=[10,20,"笑猫","rubbish",36]
lst2=["fighting","python"]
lst.extend(lst2)       #在列表末尾中以多个元素的形式进行添加
  1. 在列表任意位置增加一个元素: insert()

lst=[10,20,"笑猫","rubbish",36]
lst.insert(1,50)      #在列表lst第二个位置插入元素50
  1. 在列表任意位置增加多个元素: 切片

#在任意位置增加任意元素-->切片
lst1=[11,22,33,44]
lst2=["one","two","three","four"]
lst1[1:]=lst2  #将列表lst1切片,将切掉的部分的位置以lst2代替
print(lst1)
  1. 列表元素的删除操作

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

  1. pop():删除指定位置上的元素,不指定索引删除列表最后一个元素

lst=[10,30,40,50,"carrot","rabbit"]
lst.pop(2)
print(lst)
  1. 切片:一次至少删除一个元素

lst=[10,30,40,50,"carrot","rabbit"]
lst2=lst[1:3]  #切片会产生一个新的列表,原列表不会发生改变
print(lst)
print(lst2)
  1. clear():清空列元素

  1. del:删除列表

  1. 列表元素的修改

  1. 指定索引元素赋一个新值

lst1=[10,20,30,40,50,60]
lst1[2]=100
print(lst1)
  1. 指定切片赋予新值

lst1=[10,20,30,40,50,60]
lst2=[222,333,444,555,666,777]
lst1[2:4]=lst2   #将lst1从第三个元素到第五个元素(但不包含第五个元素)切去,切去部分由lst2代替
print(lst1)
  1. 列表元素的排序

调用sort()函数:将列表中的元素从小到大的顺序进行排序,在原列表上进的排序

reserve():将列表中的元素进行逆序排列,在原列表上进的排序

使用内置函数sorted()会产生新的列表。

lst=[30,5,6,20,12,15,9]
lst.reverse()  #将列表lst中的元素进行了逆序排序,并未进行元素的降序排序
print(lst)
lst.sort()
print(lst)
lst.reverse()    #当原列表中的各元素不是以升序存储时,只有在调用了sort()函数,进行了元素升序排序之后,使用reverse()才会得到降序排序
print(lst)
#sorted()内置函数
lst=[30,5,6,20,12,15,9]
lst1=sorted(lst)
print(lst)
print(lst1)
  1. 列表推导式

  1. 列表的生成 : 列表名=[表达式 for 目标对象 in 迭代对象]

lst=[ i*i for i in range(1,7)]
  1. 也可以用列表推导式进行循环的遍历,减少代码量,增加执行效率

lst1 = [2,4,6,8,10]
lst2 = [i*2 for i in lst]
print(lst1)
print(lst2)
  1. 列表推导式也可以后跟if语句进行条件约束

lst=[i+3 for i in range(1,21) if i%5==0]
print(lst)

若有问题,敬请指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值