百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python数据类型—列表(python 中的数据类型)

off999 2024-10-16 11:26 14 浏览 0 评论

序列是python中最基本的数据,python中有六个序列的内置类型,但最常见的是列表和元组。序列中的每个元素都分配一个位置,用数字表示,即是该元素的索引值,第一位元素的索引值是0,第二位是1,以此类推。

列表(list)

列表是一个数据的集合,用方括号【】表示,里面的数据之间用逗号隔开,集合内可以放任何数据类型,可对集合进行增删改查操作。

>>> list_a=['红色','蓝色','绿色','紫色',500]#list是内置函数,不能直接用来做变量名,可以适当的做一下调整。

列表的索引取值

索引:列表中每个元素在列表中的位置称为索引(index),可以通过索引值来取对应位置上的值。索引值从左往右是从0开始,以此类推。负索引是从列表尾部开始往前数,从-1开始。索引值超过其列表长度就会报错。

>>> list_a=['红色','蓝色','绿色','紫色',500]
>>> list_a[0]#取索引为0的列表元素
'红色'
>>> list_a[1]#取索引为1的列表元素
'蓝色'
>>> list_a[-1]#取索引为-1的列表元素,即列表中最后一位元素
500
>>> list_a[4]#取列表的第四位元素
500
>>> list_a[5]#因为没有第五位,超出了取值范围,就会报错
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    list_a[5]
IndexError: list index out of range

列表的切片

切片:列表切片是处理列表的部分元素,也就是把整个列表切开,列表可以根据一个范围来取值。切片是两个范围之间取值,且后面的数取不到,即切片的区间为左闭右开。切片时范围超过列表长度也没关系。切片时还可以指定步长(step),步长不能为0,默认为1。(闭区间是指端点包含在内,开区间是指端点不包含在内)

ps:定义的列表里面的数据是用逗号隔开,列表切片表达式中间是用冒号隔开,完整的列表切片表达式含有两个冒号(以下案例第九个)。

>>> list_a[0:3]#取前三位。
['红色', '蓝色', '绿色']
>>> list_a[0:100]#索引值超出范围会取出列表的全部数据
['红色', '蓝色', '绿色', '紫色', 500]
>>> list_a[0:500]#同理,500是索引值,不是数据
['红色', '蓝色', '绿色', '紫色', 500]
>>> list_a[0:4]#左闭右开
['红色', '蓝色', '绿色', '紫色']
>>> list_a[0:4:2]#步长为2,两个数据取第一个,依次类推
['红色', '绿色']
>>> list_a[4:1:-1]#步长为负数,实际效果就是将序列进行反转
[500, '紫色', '绿色']

下面的方法演示会以上面定义好的列表为基础

列表的增删改查(增加删除修改查找)这些方法的调用格式:要操作的列表.方法名

1. 添加:append,extend,insert这三个方法

list.append:在列表末尾单个添加新的对象。

list.extend:批量添加,也即向列表追加另一个列表。

list.insert:将某个元素插放到列表的指定定位置。

>>> list_a.append('黑色')#单个添加
>>> list_a
['红色', '蓝色', '绿色', '紫色', 500, '黑色']
>>> list_a.extend(['橙色','灰色'])#批量添加,注意括号的区别
>>> list_a
['红色', '蓝色', '绿色', '紫色', 500, '黑色', '橙色', '灰色']
>>> list_a.insert(1,'银色')#指定索引为1的位置添加,参数1为索引,参数2为要添加的内容
>>> list_a
['红色', '银色', '蓝色', '绿色', '紫色', 500, '黑色', '橙色', '灰色']

2. 删除:pop,remove,clear这三个方法

.pop:移除列表中的一个元素,一次移除一个(默认移除列表中最后一个元素),并且返回该元素的值。

list.remove:移除列表中指定位置的元素

list.clear:一次性清空列表中所有的元素

>>> list_a#列表
['红色', '银色', '蓝色', '绿色', '紫色', 500, '黑色', '橙色', '灰色']
>>> list_a.pop()#默认移除最后一位,返回该元素的值
'灰色'
>>> list_a.pop(1)#移除指定位置(索引)元素,返回该元素的值。参数为索引
'银色'
>>> list_a.remove('蓝色')#移除指定元素,不返回值
>>> list_a#最终结果
['红色', '绿色', '紫色', 500, '黑色', '橙色']
>>> list_a.clear()#一次性清空列表,没有参数
>>> list_a
[]#空列表

注意:删除是不可逆的,删除前要考虑好哦

3. 替换:利用索引取值,可以直接替换。

>>> list_b=['鸡','鱼','羊','牛']#定义列表
>>> list_b[0]='虾'#利用索引取值,可以直接替换
>>> list_b
['虾', '鱼', '羊', '牛']

4.查找:index方法(可以根据元素,找到元素的索引值)

>>> list_a.index(500)#查找列表元素为500的索引值
4

列表脚本操作符

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

>>> list_a=[1,2,3,]#定义列表
>>> list_b=[4,5,6]
>>> list_a+list_b#组合列表
[1, 2, 3, 4, 5, 6]
>>> list_a*3#重复列表
[1, 2, 3, 1, 2, 3, 1, 2, 3]

如果是直接两个列表相加,记得重新赋值,否则不会改变原值。

>>> list_c=list_a+list_b
>>> list_c
[1, 2, 3, 4, 5, 6]

列表的其他方法

count:可以统计列表里面某个元素出现的次数,也属于查找。

sort:对列表中元素进行从小到大排序,采用timsort算法排序。

以下的方法自己试一下,因为后面我都做了详细的作用讲解,不再一一赘述。

>>> list_a=[3,4,5,6,7,8]#定义列表
>>> list_b=list_a.copy()#将复制的列表赋值给list_b
>>> list_b
[3, 4, 5, 6, 7, 8]
>>> list_a.reverse()#反向列表,不用重新赋值,会在原有的列表上进行
>>> list_a
[8, 7, 6, 5, 4, 3]
>>> list_a.count(3)#统计该元素的个数
1
>>> list_a.sort()#从小到大排序,也不用重新赋值。
>>> list_a
[3, 4, 5, 6, 7, 8]


相关推荐

面试官:来,讲一下枚举类型在开发时中实际应用场景!

一.基本介绍枚举是JDK1.5新增的数据类型,使用枚举我们可以很好的描述一些特定的业务场景,比如一年中的春、夏、秋、冬,还有每周的周一到周天,还有各种颜色,以及可以用它来描述一些状态信息,比如错...

一日一技:11个基本Python技巧和窍门

1.两个数字的交换.x,y=10,20print(x,y)x,y=y,xprint(x,y)输出:102020102.Python字符串取反a="Ge...

Python Enum 技巧,让代码更简洁、更安全、更易维护

如果你是一名Python开发人员,你很可能使用过enum.Enum来创建可读性和可维护性代码。今天发现一个强大的技巧,可以让Enum的境界更进一层,这个技巧不仅能提高可读性,还能以最小的代价增...

Python元组编程指导教程(python元组的概念)

1.元组基础概念1.1什么是元组元组(Tuple)是Python中一种不可变的序列类型,用于存储多个有序的元素。元组与列表(list)类似,但元组一旦创建就不能修改(不可变),这使得元组在某些场景...

你可能不知道的实用 Python 功能(python有哪些用)

1.超越文件处理的内容管理器大多数开发人员都熟悉使用with语句进行文件操作:withopen('file.txt','r')asfile:co...

Python 2至3.13新特性总结(python 3.10新特性)

以下是Python2到Python3.13的主要新特性总结,按版本分类整理:Python2到Python3的重大变化Python3是一个不向后兼容的版本,主要改进包括:pri...

Python中for循环访问索引值的方法

技术背景在Python编程中,我们经常需要在循环中访问元素的索引值。例如,在处理列表、元组等可迭代对象时,除了要获取元素本身,还需要知道元素的位置。Python提供了多种方式来实现这一需求,下面将详细...

Python enumerate核心应用解析:索引遍历的高效实践方案

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。根据GitHub代码分析统计,使用enumerate替代range(len())写法可减少38%的索引错误概率。本文通过12个生产...

Python入门到脱坑经典案例—列表去重

列表去重是Python编程中常见的操作,下面我将介绍多种实现列表去重的方法,从基础到进阶,帮助初学者全面掌握这一技能。方法一:使用集合(set)去重(最简单)pythondefremove_dupl...

Python枚举类工程实践:常量管理的标准化解决方案

本文通过7个生产案例,系统解析枚举类在工程实践中的应用,覆盖状态管理、配置选项、错误代码等场景,适用于Web服务开发、自动化测试及系统集成领域。一、基础概念与语法演进1.1传统常量与枚举类对比#传...

让Python枚举更强大!教你玩转Enum扩展

为什么你需要关注Enum?在日常开发中,你是否经常遇到这样的代码?ifstatus==1:print("开始处理")elifstatus==2:pri...

Python枚举(Enum)技巧,你值得了解

枚举(Enum)提供了更清晰、结构化的方式来定义常量。通过为枚举添加行为、自动分配值和存储额外数据,可以提升代码的可读性、可维护性,并与数据库结合使用时,使用字符串代替数字能简化调试和查询。Pytho...

78行Python代码帮你复现微信撤回消息!

来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。[导读]Python曾经对我说:"时日不多,赶紧用Python"。于是看...

登录人人都是产品经理即可获得以下权益

文章介绍如何利用Cursor自动开发Playwright网页自动化脚本,实现从选题、写文、生图的全流程自动化,并将其打包成API供工作流调用,提高工作效率。虽然我前面文章介绍了很多AI工作流,但它们...

Python常用小知识-第二弹(python常用方法总结)

一、Python中使用JsonPath提取字典中的值JsonPath是解析Json字符串用的,如果有一个多层嵌套的复杂字典,想要根据key和下标来批量提取value,这是比较困难的,使用jsonpat...

取消回复欢迎 发表评论: