Python全栈之列表数据类型详解


Posted in Python onOctober 01, 2019

前言

列表(list)同字符串一样都是有序的,因为他们都可以通过切片和索引进行数据访问,且列表是可变的。

创建列表的几种方法

第一种

name_list = ['Python', 'PHP', 'JAVA']

第二种

name_list = list(['Python', 'PHP', 'JAVA'])

创建一个空列表

>>> li = list() 
>>> type(li)
<class 'list'>

把一个字符串转换成一个列表

>>> var="abc"
>>> li = list(var)
>>> li
['a', 'b', 'c']

list在把字符串转换成列表的时候,会把字符串用for循环迭代一下,然后把每个值当作list的一个元素。

把一个元组转换成列表

>>> tup=("a","b","c")
>>> li=list(tup)
>>> type(li)
<class 'list'>
>>> li
['a', 'b', 'c']

把字典转换成列表

>>> dic={"k1":"a","k2":"b","k3":"c"}
>>> li=list(dic)
>>> type(li)
<class 'list'>
>>> li
['k3', 'k1', 'k2']

字典默认循环的时候就是key,所以会把key当作列表的元素

>>> dic={"k1":"a","k2":"b","k3":"c"}
>>> li=list(dic.values())
>>> li
['c', 'a', 'b']

如果指定循环的是values,那么就会把values当作列表的元素

列表所提供的方法

在列表末尾添加新的对象

append(self, p_object):

>>> name_list = ['Python', 'PHP', 'JAVA']
>>> name_list.append("C#")
>>> name_list
['Python', 'PHP', 'JAVA', 'C#']

统计某个元素在列表中出现的次数

count(self, value):

属性 描述
obj 列表中统计的对象
>>> name_list = ['Python', 'PHP', 'PHP']
>>> name_list.count("PHP")
2

用于在列表末尾一次性追加另一个序列中的多个值

extend(self, iterable):

属性 描述
seq 元素列表
>>> name_list = ['Python', 'PHP', 'Python']
>>> name_OS = ['Windows', 'Linux', 'Unix']
>>> name_list
['Python', 'PHP', 'Python']
>>> name_OS
['Windows', 'Linux', 'Unix']
# 把列表`name_OS`中的内容添加到`name_list`的尾部
>>> name_list.extend(name_OS)
# 输出的结果
>>> name_list
['Python', 'PHP', 'Python', 'Windows', 'Linux', 'Unix']

从列表中找出某个值第一个匹配项的索引位置

index(self, value, start=None, stop=None):

属性 描述
value 列表中统计的对象
# 查找对象所在的位置
>>> name_list = ['Python', 'PHP', 'JAVA']
>>> name_list.index("PHP")
1

将指定对象插入列表

insert(self, index, p_object):

属性 描述
index 对象obj需要插入的索引位置
obj 要出入列表中的对象
>>> name_list = ['Python', 'PHP', 'JAVA']
# 把位置`1`的内容换成`C`,后面的自动退格一个位置
>>> name_list.insert(1,"C")
>>> name_list
['Python', 'C', 'PHP', 'JAVA']

移除列表中的一个元素,并且返回该元素的值

pop(self, index=None):

属性 描述
index 可选参数,要移除列表元素的位置
>>> name_list = ['Python', 'PHP', 'JAVA']
# 删除位置1上面的内容,并且返回删除的字符串
>>> name_list.pop(1)
'PHP'
>>> name_list
['Python', 'JAVA']

移除列表中某个值的第一个匹配项

remove(self, value):

属性 描述
value 列表中要移除的对象
>>> name_list = ['Python', 'PHP', 'JAVA', 'Python']
# 每次删除的时候只会把第一次匹配到的值删除,第二个值不会被删除
>>> name_list.remove("Python")
>>> name_list
['PHP', 'JAVA', 'Python']
>>> name_list.remove("Python")
>>> name_list
['PHP', 'JAVA']

当然删除元素还可以直接使用del进行删除:

>>> L = [1,2,3]
>>> del L[1]
>>> L
[1, 3]

又或者使用切片赋值进行元素删除

>>> L = [1,2,3]
>>> L[1:2] = []
>>> L
[1, 3]

反向输出列表中的元素

reverse(self):

>>> name_list = ['Python', 'PHP', 'JAVA']
>>> name_list
['Python', 'PHP', 'JAVA']
>>> name_list.reverse()
>>> name_list
['JAVA', 'PHP', 'Python']

对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数

sort(self, cmp=None, key=None, reverse=False):

>>> name_list = ['Python', 'PHP', 'JAVA']
>>> name_list
['Python', 'PHP', 'JAVA']
>>> name_list.sort()
>>> name_list
['JAVA', 'PHP', 'Python']

清除列表内所有元素

>>> li
['Ansheng']
>>> li.clear()
>>> li
[]

同字符串一样,列表也支持解析,称为列表解析

>>> li = [x for x in range(1,20)]
>>> li
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
用python 制作图片转pdf工具
Jan 30 Python
Python把csv数据写入list和字典类型的变量脚本方法
Jun 15 Python
python之信息加密题目详解
Jun 26 Python
flask框架路由常用定义方式总结
Jul 23 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 Python
用python绘制樱花树
Oct 09 Python
Python解析微信dat文件的方法
Nov 30 Python
Python基本数据类型之字符串str
Jul 21 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
Oct 01 #Python
使用Python制作一个打字训练小工具
Oct 01 #Python
Python + Flask 实现简单的验证码系统
Oct 01 #Python
python 矢量数据转栅格数据代码实例
Sep 30 #Python
python多进程间通信代码实例
Sep 30 #Python
Python实现二叉树的最小深度的两种方法
Sep 30 #Python
python打开使用的方法
Sep 30 #Python
You might like
php date()日期时间函数详解
2010/05/16 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
javascript入门基础之私有变量
2010/02/23 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
JS中Location使用详解
2015/05/12 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
让你5分钟掌握9个JavaScript小技巧
2018/06/09 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
python数据结构之图的实现方法
2015/07/08 Python
深入理解python中的atexit模块
2017/03/07 Python
Python实现简易Web爬虫详解
2018/01/03 Python
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
基于python代码批量处理图片resize
2020/06/04 Python
canvas仿写贝塞尔曲线的示例代码
2017/12/29 HTML / CSS
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
我的梦想演讲稿500字
2014/08/21 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
奖学金感谢信
2015/01/21 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
思想道德自我评价2015
2015/03/09 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
解析Java中的static关键字
2021/06/14 Java/Android