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


Posted in Python onDecember 28, 2017

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

Python 相关文章推荐
python连接池实现示例程序
Nov 26 Python
Python 爬虫学习笔记之单线程爬虫
Sep 21 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
Numpy数组转置的两种实现方法
Apr 17 Python
python读取一个目录下所有txt里面的内容方法
Jun 23 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
解析python的局部变量和全局变量
Aug 15 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
Feb 29 Python
python爬虫实现获取下一页代码
Mar 13 Python
如何理解python面向对象编程
Jun 01 Python
关于python中模块和重载的问题
Nov 02 Python
Python读csv文件去掉一列后再写入新的文件实例
Dec 28 #Python
python3.6连接MySQL和表的创建与删除实例代码
Dec 28 #Python
python3使用scrapy生成csv文件代码示例
Dec 28 #Python
浅谈Scrapy框架普通反爬虫机制的应对策略
Dec 28 #Python
scrapy爬虫实例分享
Dec 28 #Python
Python解决N阶台阶走法问题的方法分析
Dec 28 #Python
Python实现嵌套列表去重方法示例
Dec 28 #Python
You might like
PHP实现用户认证及管理完全源码
2007/03/11 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
ie 调试javascript的工具
2009/04/29 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
常用的javascript设计模式
2017/01/11 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
python 牛顿法实现逻辑回归(Logistic Regression)
2020/10/15 Python
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
.NET概念性的面试题
2012/02/29 面试题
JPA的特点
2014/10/25 面试题
中标通知书范本
2015/04/17 职场文书
交通事故起诉书
2015/05/19 职场文书
决心书格式范文
2015/09/23 职场文书
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS