一组有序项目的集合

可变的数据类型【可进行增删改查】

列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】

列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔

列表可通过序号访问其中成员

定义

>>> l = [] #空列表

>>> l = [1,2,3]

>>> l = [1,2,3,['a','b']]

>>> l = list('linuxeye')

>>> l

['l', 'i', 'n', 'u', 'x', 'e', 'y', 'e']

>>> l = list(range(5))

>>> l

[0, 1, 2, 3, 4]

>>> l = '1;2;3;4;5'.split(';')

>>> l

['1', '2', '3', '4', '5']

内建函数list(a_sequence) 可以将一个序列转为列表

索引

正索引是编号是从左到右,0开始;负索引编号是从右往左,-1、-2 …;取范围值都是从左至右

>>> LanguageList = ['Python','Shell','Perl','PHP','java','C',"C++","Lisp"]

>>> LanguageList[0] #取第一个值

'Python'

>>> LanguageList[3] #第四个值

'PHP'

>>> LanguageList[3:]

['PHP', 'java', 'C', 'C++', 'Lisp']

>>> LanguageList[:3]

['Python', 'Shell', 'Perl']

>>> LanguageList[2:5]

['Perl', 'PHP', 'java']

>>> LanguageList[-1] #倒数第一个值

'Lisp'

>>> LanguageList[-2] #倒数第二个值

'C++'

>>> LanguageList[-5:]

['PHP', 'java', 'C', 'C++', 'Lisp']

>>> LanguageList[-5:-2]

['PHP', 'java', 'C']

>>> LanguageList[:-2]

['Python', 'Shell', 'Perl', 'PHP', 'java', 'C']

增加元素

>>> LanguageList

['Python', 'Shell', 'Perl', 'PHP', 'java', 'C', 'C++', 'Lisp']

>>> LanguageList.append('GO')

>>> LanguageList

['Python', 'Shell', 'Perl', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO']

>>> LanguageList.insert(3,'Python') #往PHP元素前插入

>>> LanguageList

['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO']

>>> LanguageList.extend(['Ruby','C#'])

>>> LanguageList

['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']

搜索

>>> LanguageList = ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']

>>> LanguageList.index('Python')

0

>>> LanguageList.index('C')

6

>>> LanguageList.index('c')

Traceback (most recent call last):

File "", line 1, in

ValueError: list.index(x): x not in list

>>> 'c' in LanguageList

False

>>> LanguageList.index('Python') #统计一个元素的出现次数

2

删除元素

>>> LanguageList = ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']

>>> LanguageList.remove('C')

>>> LanguageList.remove('Python')

>>> LanguageList.remove('c')

Traceback (most recent call last):

File "", line 1, in

ValueError: list.remove(x): x not in list

>>> LanguageList.pop()

'C#'

>>> LanguageList

['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby']

>>> LanguageList.pop(-2)

['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'Ruby']

>>> del LanguageList[-3:-1]

>>> LanguageList

['Shell', 'Perl', 'Python', 'PHP', 'java', 'Ruby']

remove从列表中只删除一个值的首次出现。

pop会做两件事: 删除列表的最后一个元素, 然后返回删除元素的值。

修改元素

>>> LanguageList = ['Python','Shell', 'Perl', 'Python', 'PHP', 'java', 'Ruby']

>>> LanguageList[-2] = 'C'

>>> LanguageList

['Python', 'Shell', 'Perl', 'Python', 'PHP', 'C', 'Ruby']

>>> LanguageList[LanguageList.index('C')] = 'JAVA'

>>> LanguageList

['Python', 'Shell', 'Perl', 'Python', 'PHP', 'JAVA', 'Ruby']

运算符

>>> LanguageList

['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby']

>>> LanguageList = LanguageList + ['Python','C']

>>> LanguageList

['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby', 'Python', 'C']

>>> LanguageList += ['java']

>>> LanguageList

['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby', 'Python', 'C', 'java']

>>> NumList = [1,2,3] * 3

>>> NumList

[1, 2, 3, 1, 2, 3, 1, 2, 3]

排序

>>> NumList = [2,5,3,6,1,4]

>>> NumList.reverse()

>>> NumList

[4, 1, 6, 3, 5, 2]

>>> NumList[::-1] #和reverse效果相同

>>> NumList

[2, 5, 3, 6, 1, 4]

>>> NumList.sort()

>>> NumList

[1, 2, 3, 4, 5, 6]

sort可接受参数

cmp,比较函数,接受两个参数,小于时返回负,大于返回正,相等返回0

key,指定排序键

reverse,指定是否反序

列表的比较操作 , 隐式调用cmp方法 , 比较规则是逐个扫描元素进行比较, 如果可以比较 , 则比较, 如果相等扫描下一个元素 , 如果不相等返回结果 , 如果两个元素类型不可以比较 , 就比较两个对象的 id()值。如果一直相等 ,直到一个列表扫描结束 , 那么返回较长的列表较大

>>> L = [(13,54),(11,59),(15,55),(12,57),(10,56)]

>>> L.sort(key=lambda x:x[1])

>>> L

[(13, 54), (15, 55), (10, 56), (12, 57), (11, 59)]

>>> L.sort(key=lambda x:x[1],reverse=1) #或者reverse=True

>>> L

[(11, 59), (12, 57), (10, 56), (15, 55), (13, 54)]

sort与sorted函数区别

NumList = [2, 5, 3, 6, 1, 4]

>>> sorted(NumList)

[1, 2, 3, 4, 5, 6]

>>> NumList

[2, 5, 3, 6, 1, 4]

>>> NumList.sort()

>>> NumList

[1, 2, 3, 4, 5, 6]

sort: 在原list上排序,不返回排序后的list

sorted: 不改变原list,返回排序后的list

pythonfilelist_Python 列表list使用介绍相关推荐

  1. 哈希表(散列表)的介绍,代码实现

    百度百科介绍的哈希表: 哈希表(Hash table,也叫散列表):是根据键(Key)而直接访问在内存存储位置的数据结构.也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访 ...

  2. 证书吊销列表(CRL)简单介绍与相关openssl C api功能测试

    文章目录 1 前言 2 基础知识 3 Openssl C api 4 测试代码 4.1 测试脚本 4.2 测试程序 1 前言 在近期的工作项目中涉及到了证书吊销列表(CRL)相关的一些知识,打算记录一 ...

  3. HTML5中常见的列表标签包括,介绍几个常用的HTML5标签

    一.Html的基本结构: 网页的文本.图片等信息: 二.Head部分:用于表示网页的元数据即描述网页的基本信息 其常用标签及属性有: 1.title标签:浏览器标签页显示的标题 2.meta标签:其常 ...

  4. sap fiori导出列表到excel_介绍一种Fiori标准应用的增强方式

    2015年,Jerry还在SAP成都研究院CRM Fiori开发团队工作时,担任了德国一个著名的灯具制造商客户的CRM Fiori项目的dev angel. 当时客户提出了若干对CRM Fiori标准 ...

  5. python中列表概念,Python 列表的简单介绍

    这篇文章即<Python的变量和简单数据类型>之后的总结文章(Eric Matthes <Python编程从入门到实践>第三章) 什么是列表 列表同样是每一个编程语言都需要的数 ...

  6. css精灵列表使用实例,介绍一个导出CSS精灵图动画的AE小脚本

    作者:李威 在H5项目中如果有动画需求,一个常见的流程是设计师用 After Effect 制作动画,然后导出为序列帧. 序列帧就是一张张图片,快速连续播放就能成为动画,但是在H5里直接播放序列帧对网 ...

  7. zblog php getlist,zblog php调用自定义文章列表函数GetList()介绍

    在zblog asp版本制作zblog CMS模板时,调用自定义的文章列表时,通常会选择使用功能强大的YTCMS插件,而zblog php版本提供了GetList函数,通过该函数可以获取自定义的文章列 ...

  8. JAVA组件大全复选框,选项按钮,复选方框,下拉式列表的使用介绍

    7-1:使用JCheckBox组件: 类层次结构图:    java.lang.Object      --java.awt.Component       --java.awt.Container ...

  9. 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用...

    为什么80%的码农都做不了架构师?>>>    在上篇<基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理>介绍了Bootstrap ...

  10. access字段属性设置下拉列表_可嵌入您系统的.NET 报表控件ActiveReports:带状列表组件...

    葡萄城报表控件ActiveReports V14.0 全面支持 .NET Core平台.同时 ActiveReports的桌面报表设计器UI也全面增强,报表预览方式得以全面优化,报表设计能力得以大幅提 ...

最新文章

  1. python 和 torch 交叉熵损失
  2. 如果把线程当作一个人来对待,所有问题都瞬间明白了
  3. Python 用 if __name__ == ‘__main__‘:语句来控制代码是被直接运行还是导包执行
  4. mysql中jdbc的metadata_JDBC(九)DatabaseMetaData 数据库元数据
  5. android四中启动模式
  6. c++ 与 java_Java与C++比较
  7. 最全三大框架整合(使用映射)——IDeptService.java
  8. Python逐行读取文件内容
  9. spring+mybatis 框架搭建
  10. 完全自定义TabBar(八)
  11. vue怎么实现手风琴效果_Vue中使用v-for制作动态手风琴效果
  12. 关键字AUTO_INCREMENT 重命名表 修改列的属性。
  13. 7.2.3 十字链表
  14. php跨域问题,PHP跨域问题解决方案
  15. SPSS时序全局主成分分析方法
  16. 电商后台管理系统分享
  17. Mybatis注解用法
  18. python 拼接 遥感影像_如何用Python| 制作遥感影像拼接
  19. 网站优化 SEO概念
  20. 联通校园网避免检测随身wifi方法

热门文章

  1. 完整的tensorflow训练、保存和离线加载模型(以mnist为例)
  2. json文件转换成label.png等一系列文件
  3. 第29月第13天 程序员职业规划
  4. pat乙级 1091 N-自守数 (15 分)
  5. 利用python批量处理Word文件——正文、标题
  6. SQL索引及表的页的逻辑顺序与物理顺序
  7. Redis 3.2.4编译安装
  8. dbvisulizer 存储过程
  9. KVC、谓词、单例设计模式
  10. PurgeComm()函数--清空缓冲区