python操作列表的函数使用代码详解

yipeiwu_com6年前Python基础

python的列表很重要,学习到后面你会发现使用的地方真的太多了。最近在写一些小项目时经常用到列表,有时其中的方法还会忘哎!

所以为了复习写下了这篇博客,大家也可以来学习一下,应该比较全面和详细了

列表(list):

用来存放相同或者不同元素(字符)用逗号隔开的一个存储方式。

list我个人认为最重要的有一点大家可能都容易忽略那就是复制列表,这点文章最后来讲解

定义三个列表的样例

lis = [1, 2, 3, 4, 5, 6] 
lis = ['a', 'b', 'c', 'd'] 
lis = [1, 'a', '2', 'b'] 

这三个都属于列表只是存放的元素类型有所不同但是原理都是相同

列表是用下表来排序的存储空间下表从0开始

lis = [1, 2, 3, 4, 5, 6] 
lis[3] = 4 

元素4的下表为3,所以可以用下标来查询元素

print(lis[2:5]) 
输出[3, 4, 5] 

这是列表的截取,选中一个区间来输出[X:Y]不包含Y

列表具有添加、删除、结合、重复、迭代、查询、截取等功能

添加append()

lis.append(8) 
lis.append('a') 
输出[1, 2, 3, 4, 5, 6, 8, 'a'] 

append()在末尾添加元素

del删除

del方法可以对列表进行删除操作

lis = [1, 2, 3, 4, 5, 6] 
del lis[3]  #注意3代表的是列表的下标 
print(lis)  #输出结果[1, 2, 3, 5, 6] 

remove删除

remove也能实现列表元素的删除,但是它与del有区别,remove删除的是第一个与之匹配的(X)元素

lis2 = [1,2,3,2,4] 
lis2.remove(2) 
print(lis2)  #输出结果[1, 3, 2, 4] 删除的是第一个与之匹配的2从左到右 

*重复

*的使用,它与数学中的*有类似的作用

lis2 = [1, 2, 3, 4] 
print(lis2*3)   #输出结果[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4] 

组合

+的使用,它表示将列表相结合尾连头

lis = [1, 2, 3, 4, 5, 6] 
lis2 = [1, 2, 3, 4] 
print(lis+lis2)   #输出结果[1, 2, 3, 4, 5, 6, 1, 2, 3, 4] 

迭代

列表可以被for循环进行迭代使用,这是列表的一个特性

lis2 = [1, 2, 3, 4] 
for i in lis2: 
  print(i)      #输出1 2 3 4 

反向查询和截取列表

# lis = [1, 2, 3, 4, 5, 6] 
print(lis[-3])  #输出4  -X表示从又开始查询 最后一个数下表为-1 
 
print(lis[2:5])  #输出[3, 4,5] 输出下标从2到4的元素 

list所包含的一些方法

len用于计算list的长度

lis = [1, 2, 3, 4, 5, 6] 
print(len(lis))    #输出列表长度为 6 

count用来计算列表中的某个元素出现的次数

lis3 = [2, 3, 5, 3, 3] 
h = lis3.count(3) 
print(h)   # h = 3 

extend扩展两个列表

lis = [1, 2, 3, 4, 5, 6] 
lis2 = [1, 2, 3, 4] 
lis.extend(lis2)  #在lis后面连接lis2 
print(lis)     #输出结果[1, 2, 3, 4, 5, 6, 1, 2, 3, 4] 

sort对列表排序

lis4 = [3, 1, 6, 4] 
lis4.sort() 

reverse将列表反向排序 与sort相反

lis = [1, 2, 3, 4, 5, 6] 
lis.reverse() 

生成列表的一种方式:

[需要生成的数foriinrange(范围)]

lis5 = [5 for i in range(4)]       #输出[5, 5, 5, 5] 

由上面延伸到实用的地方 random.choice(1,2,3)随机从[1,2,3]中选择一个再组合 简单的2048游戏会用到这个

import random 
lis5 = [random.choice([1,2,3]) for i in range(4)] 

最后一点文章开头介绍了一个list的重点

很多人可能忽略这个问题复制变量或者列表是就是直接a=b,但是在python中要想使两个list相互独立应当a=list(b)。这个问题你可能会觉得很小但是当你做项目是会因为这个错误想死的心都有(没错我就经历过所以在此给大家一个提醒!!!)

错误:(也不能说错误,这要看你怎么去使用它了)

lis = [1, 2, 3, 4, 5, 6] 
lis6 = lis 
lis6.remove(4) 
print(lis) 

正确:

lis6 = list(lis) 
lis6.remove(4) 
print(lis) 

这两个例子最好自己敲敲看看区别在哪里

list还有很多灵活的使用和其他复杂一点的操作,这里就只是简单的写出了它的基本用法

list在python中很重要如果你再学习时发现本人的博客中出现代码错误或者有其他错误你可以看看官方一点的讲解(以上代码都是验证过的应该没问题的)

总结

以上就是本文关于python操作列表的函数使用代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Pytorch 中retain_graph的用法详解

用法分析 在查看SRGAN源码时有如下损失函数,其中设置了retain_graph=True,其作用是什么? ############################...

Python去掉字符串中空格的方法

我们经常在处理字符串时遇到有很多空格的问题,一个一个的去手动删除不是我们程序员应该做的事情,今天这篇技巧的文章【听图阁-专注于Python设计】就来给大家讲一下,如何用Python去除字...

解决Django中修改js css文件但浏览器无法及时与之改变的问题

解决Django中修改js css文件但浏览器无法及时与之改变的问题

今天修改之前实习小伙伴写的js代码的时候,遇到修改后页面未发生变化的问题。因为我是web开发小白,所以上网查了一波,得以解决~~ 初次进行web工程开发的人可能会碰到这样的情况:自己在明...

盘点提高 Python 代码效率的方法

第一招:蛇打七寸:定位瓶颈 首先,第一步是定位瓶颈。举个简单的栗子,一个函数可以从1秒优化到到0.9秒,另一个函数可以从1分钟优化到30秒,如果要花的代价相同,而且时间限制只能搞定一个,...

Python实现基于SVM的分类器的方法

本文代码来之《数据分析与挖掘实战》,在此基础上补充完善了一下~ 代码是基于SVM的分类器Python实现,原文章节题目和code关系不大,或者说给出已处理好数据的方法缺失、源是图像数据更...