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

python数据类型(三):列表 python 列表类型

wptr33 2024-12-24 16:02 59 浏览

列表是Python中最具灵活性的有序集合对象类型,可以包含任何类型的对象,如字符串、数字、甚至其他列表。? 列表是可变的数据类型,即这种类型的值是可以被修改的?。列表的基本操作包括创建、访问、更新、删除元素等。

在 Python 中,列表是使用方括号 “[]” 编写的,在列表中使用“逗号(,)”来将列表中的元素隔断。当“[]”内没有元素时,该列表为空。

list1 = [22,45.32,"Python",["holle","word"],True] 
# 含有五个元素的列表,其中["holle","word"]作为列表,是list1中一个单独的元素
list2 = [] # 空列表

boundary-end ------

注意:len() 内置函数表示变量的长度,常用在字符串,列表循环中

一、 索引

正向索引与反向索引,其实就是从左往右是0,1,2,3,。。。 ; 从右往左是-1,-2,-3,。。。

list1 = [22,45.32,"Python",["holle","word"],True]
# 22  45.32  'Python'  ['holle', 'word']  True
# 0    1        2            3              4
print(list1[2])
# 输出结果为"Python"
list1 = [22,45.32,"Python",["holle","word"],True]
# 22  45.32  'Python'  ['holle', 'word']  True
# -5    -4        -3            -2         -1
print(list1[-3])
# 输出结果为"Python"

索引切片

索引用来对单个成员(元素)进行访问,切片则是对一定范围内的成员(元素)进行访问

切片通过冒号的方式在中括号内把相隔的两个索引位置范围内的成员(元素)找出来,如 0:10

切片的规则:左含,右不含; 左边包含,右边不包含

通过切片方式获取的完整的列表已经不再是原来的列表了,即使获取的是原来列表的完整的内容

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(num_list[3:7])
>>> [4, 5, 6, 7]
num_list = [1, 2, 3, 4, 5, 6, 7, 8]
print(num_list[::-1]) # 列表的反序
print(num_list[-3:-1]) # 列表的反向获取
print(num_list[0:8:2]) # 列表的步长获取:【每隔2步长(也可以理解为每两个数值)获取索引0到8的元素】




>>> [8, 7, 6, 5, 4, 3, 2, 1]
>>> [6, 7]
>>> [1, 3, 5, 7]
  • 可以通过list.index(item) 列表通过 index() 函数,传入一个元素来获取当前元素的索引值

二、 转化

join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

(1)列表转化字符串

将列表中的元素转化为字符串时,使用一个空字符串接收由列表转换的字符串。

可使用内置函数“str”直接将列表转换为字符串,但是这种方法会将列表中的“[]”“,”以及引号也作为字符串进行转化

list1 = ["a","b","c","d","e"]
str1 = str(list1)
print(str1)
# 输出结果为:['a', 'b', 'c', 'd', 'e'] , <class 'str'>

也可使用字符拼接的“join拼接方法”。转换为字符串时,列表内的元素也只能是字符串。

list1 = ["a","b","c","d","e"]
str1 = "".join(list1)
print(str1)
# 输出结果为:abcde

(2)字符串转化为列表

将字符串转化为列表,可以使用内置函数“list”直接将字符串转化为列表。

str1 = "abcde"
list1 = list(str1)
print(list1)
# 输出结果为:['a', 'b', 'c', 'd', 'e']

三、 操作

(1.0)添加单个元素 :append() , 元素添加为位置在列表的最后。

(1.1)添加多个元素 :extend(), 元素添加为位置在列表的最后,但是会给每个元素进行拆分后添加

注:如果添加的是字符串那么元素会被拆分,如果是添加的是数组,元素不会被拆分

(1.2)制定位置添加元素 :insert()

list1 = list1 = ['a', 'b', 'c', 'd', 'e']
list1.append('f')
print(list1)
# 输出结果为:['a', 'b', 'c', 'd', 'e', 'f']




list1 = ['a', 'b', 'c', 'd', 'e']
list1.extend("fh")
print(list1)
# 输出结果为:['a', 'b', 'c', 'd', 'e', 'f', 'h']
list1 = ['a', 'b', 'c', 'd', 'e']
list1.extend(["fh"])
print(list1)
# 输出结果为:['a', 'b', 'c', 'd', 'e', 'fh']




list1 = ['a', 'b', 'c', 'd', 'e']
list1.insert(0,'h')
print(list1)
# 输出结果为:['h', 'a', 'b', 'c', 'd', 'e']

(2.0)修改 :

直接赋值即可

list1 = ['a', 'b', 'e','c', 'd', 'e']
list1[1] = 'j' #修改“b”为“j”
print(list1)
# 输出结果为:['a', 'j', 'e', 'c', 'd', 'e']

(3.0)删除del() : 根据下标删除,一般不用

(3.1)删除pop : 删除列表最后一个或指定位置元素,当pop内未指明下标时,默认删除最后一位元素。

list1 = ['a', 'b', 'c', 'd', 'e']
list1.pop() # 删除“e”
print(list1)
# 输出结果为:['a', 'b', 'c', 'd']
 
list1 = ['a', 'b', 'c', 'd', 'e']
list1.pop(2) # 删除“c”
print(list1)
# 输出结果为:['a', 'b', 'd', 'e']

(3.2)删除remove: 删除指定的元素,如果元素没有会报错

list1 = ['a', 'b', 'e','c', 'd', 'e']
list1.remove('e') # 删除“e”
print(list1)
# 输出结果为:['a', 'b', 'c', 'd', 'e']

(3.3)清除clear:删除列表所有元素,列表变成[],和del不一样,del是彻底删除这个列表

list1 = ['a', 'b', 'e','c', 'd', 'e']
list1.clear()
print(list1)
# 输出结果为:[]

其他不常用操作:

sort在排序时,是在对原列表本身进行改变,不需要另外一个空列表来进行接收,没有返回值。

sorted在排序时,并不是对原列表本身进行改变,这时需要一个空列表进行接收排序后的列表,有返回值。

reverse可以对列表进行逆序排序,当reverse的值等于True时,进行逆序排序;当reverse的值等于False时,进行正序排序。

copy:复制列表,生成一个完全新的列表

相关推荐

oracle数据导入导出_oracle数据导入导出工具

关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...

继续学习Python中的while true/break语句

上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个...

python continue和break的区别_python中break语句和continue语句的区别

python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...

简单学Python——关键字6——break和continue

Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...

2-1,0基础学Python之 break退出循环、 continue继续循环 多重循

用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...

Python 中 break 和 continue 傻傻分不清

大家好啊,我是大田。...

python中的流程控制语句:continue、break 和 return使用方法

Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...

L017:continue和break - 教程文案

continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...

作为前端开发者,你都经历过怎样的面试?

已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...

面试被问 const 是否不可变?这样回答才显功底

作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...

2023金九银十必看前端面试题!2w字精品!

导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。...

前端面试总结_前端面试题整理

记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...

由浅入深,66条JavaScript面试知识点(七)

作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录...

2024前端面试真题之—VUE篇_前端面试题vue2020及答案

添加图片注释,不超过140字(可选)...

今年最常见的前端面试题,你会做几道?

在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...