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使用三角迭代计算圆周率PI的方法
Mar 20 Python
Python中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
python获取指定时间差的时间实例详解
Apr 11 Python
Django自定义manage命令实例代码
Feb 11 Python
python装饰器深入学习
Apr 06 Python
Python字符串内置函数功能与用法总结
Apr 16 Python
python与字符编码问题
May 24 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
python zip()函数使用方法解析
Oct 31 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
浅析PyCharm 的初始设置(知道)
Oct 12 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 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基础知识:函数基础知识
2006/12/13 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
javascript学习之json入门
2016/12/22 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
python实现二维码扫码自动登录淘宝
2016/12/27 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
python读写配置文件操作示例
2019/07/03 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
护理专业自荐书
2014/06/04 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
写给领导的感谢信
2015/01/22 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
SQLServer之常用函数总结详解
2021/08/30 SQL Server