1760字,让你拿捏 [‘列表‘]
创始人
2024-05-26 07:10:52

如约而至,紧接着第一篇文章,小编将会陆续把自己精心做的全套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~

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...