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执行shell获取硬件参数写入mysql的方法
Dec 29 Python
Python判断文件和文件夹是否存在的方法
May 21 Python
Python删除空文件和空文件夹的方法
Jul 14 Python
pycharm远程调试openstack代码
Nov 21 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
使用Template格式化Python字符串的方法
Jan 22 Python
使用python和pygame制作挡板弹球游戏
Dec 03 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
Python单元测试模块doctest的具体使用
Feb 10 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
用OpenCV进行年龄和性别检测的实现示例
Jan 29 Python
如何用python清洗文件中的数据
Jun 18 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网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
php中使用url传递数组的方法
2015/02/11 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
javascript针对DOM的应用分析(二)
2012/04/15 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Zabbix实现微信报警功能
2016/10/09 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
python求质数列表的例子
2019/11/24 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
Python ini文件常用操作方法解析
2020/04/26 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
金融专业个人求职信
2013/09/22 职场文书
施工员岗位职责
2015/02/10 职场文书
自荐信格式范文
2015/03/04 职场文书