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正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
Python中logging模块的用法实例
Sep 29 Python
搞笑的程序猿:看看你是哪种Python程序员
Jun 12 Python
python魔法方法-自定义序列详解
Jul 21 Python
python实现Windows电脑定时关机
Jun 20 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
Mar 30 Python
python SVM 线性分类模型的实现
Jul 19 Python
解决python 上传图片限制格式问题
Oct 30 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
Python Django ORM连表正反操作技巧
Jun 13 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
May 20 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
joomla组件开发入门教程
2016/05/04 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
JavaScript 指导方针
2007/04/05 Javascript
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
vue使用Proxy实现双向绑定的方法示例
2019/03/20 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
python使用socket连接远程服务器的方法
2015/04/29 Python
python 计算两个日期相差多少个月实例代码
2017/05/24 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
django使用admin站点上传图片的实例
2019/07/28 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
python中time tzset()函数实例用法
2021/02/18 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
迪拜航空官方网站:flydubai
2017/04/20 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
幼师自荐信范文
2013/10/06 职场文书
2014新年寄语
2014/01/20 职场文书
植树节活动总结
2014/04/30 职场文书
运动会稿件100字
2014/09/24 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
js之ajax文件上传
2021/05/13 Javascript