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发布模块的步骤分享
Feb 21 Python
python迭代器实例简析
Sep 25 Python
使用Python判断质数(素数)的简单方法讲解
May 05 Python
Python之Scrapy爬虫框架安装及简单使用详解
Dec 22 Python
python实现机器人行走效果
Jan 29 Python
python爬虫 批量下载zabbix文档代码实例
Aug 21 Python
pytorch中的卷积和池化计算方式详解
Jan 03 Python
pytorch之添加BN的实现
Jan 06 Python
Python调用.net动态库实现过程解析
Jun 05 Python
通过代码实例了解Python sys模块
Sep 14 Python
python 如何对logging日志封装
Dec 02 Python
pycharm 使用anaconda为默认环境的操作
Feb 05 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&amp;MYSQL分页原理及实现
2007/01/02 PHP
一步一步学习PHP(4) php 函数 补充2
2010/02/15 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
jQuery 工具函数学习资料
2010/04/29 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
Python处理JSON数据并生成条形图
2016/08/05 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
Python运行DLL文件的方法
2020/01/17 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
职业教育毕业生求职信
2013/11/09 职场文书
小学门卫岗位职责
2013/12/17 职场文书
考试不及格的检讨书
2014/01/22 职场文书
初中生期末评语大全
2014/04/24 职场文书
优秀家长事迹材料
2014/05/17 职场文书
市场策划求职信
2014/08/07 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
师德师风自查总结
2014/10/14 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
《失物招领》教学反思
2016/02/20 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
Node.js实现断点续传
2021/06/23 Javascript
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android