Python 列表list使用介绍

 更新时间:2014年11月30日 21:15:34   投稿:mdxy-dxy  
这篇文章主要介绍了Python 列表list使用介绍,需要的朋友可以参考下
一组有序项目的集合
可变的数据类型【可进行增删改查】
列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】
列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔
列表可通过序号访问其中成员

定义

>>> 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 "<stdin>", line 1, in <module>
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 "<stdin>", line 1, in <module>
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

相关文章

  • python数据结构之列表和元组的详解

    python数据结构之列表和元组的详解

    这篇文章主要介绍了python数据结构之列表和元组的详解的相关资料,希望通过本文能帮助到大家,让大家彻底理解掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • 详解appium+python 启动一个app步骤

    详解appium+python 启动一个app步骤

    这篇文章主要介绍了详解appium+python 启动一个app步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • python回调函数用法实例分析

    python回调函数用法实例分析

    这篇文章主要介绍了python回调函数用法,较为详细的分析了常用的调用方式,并实例介绍了Python回调函数的使用技巧,需要的朋友可以参考下
    2015-05-05
  • Python+unittest+requests+excel实现接口自动化测试框架

    Python+unittest+requests+excel实现接口自动化测试框架

    这篇文章主要介绍了Python+unittest+requests+excel实现接口自动化测试框架,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python 超简洁且详细爬取西瓜视频案例

    Python 超简洁且详细爬取西瓜视频案例

    今天给大家带来一篇爬取西瓜视频的小教程,很简单的几十行代码就可以实现了,每一段代码都详细说明了用途,看完你就能够自己动手写,感兴趣的同学快来跟着小编往下看吧
    2021-11-11
  • Python request设置HTTPS代理代码解析

    Python request设置HTTPS代理代码解析

    这篇文章主要介绍了Python request设置HTTPS代理代码解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python3 使用selenium插件爬取苏宁商家联系电话

    Python3 使用selenium插件爬取苏宁商家联系电话

    这篇文章主要介绍了Python3 selenium爬取苏宁商家联系电话,此处使用了selenium插件 使用的是火狐浏览器 信息存储到csv表格里面,需要的朋友可以参考下
    2019-12-12
  • mac安装scrapy并创建项目的实例讲解

    mac安装scrapy并创建项目的实例讲解

    今天小编就为大家分享一篇mac安装scrapy并创建项目的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python如何实现文本转语音

    Python如何实现文本转语音

    文本转语音,一般会用在无障碍开发。下面介绍如何使用Python实现将文本文件转换成语音输出。跟着小编一起来看看吧。
    2016-08-08
  • Python实现更改图片尺寸大小的方法(基于Pillow包)

    Python实现更改图片尺寸大小的方法(基于Pillow包)

    这篇文章主要介绍了Python实现更改图片尺寸大小的方法,结合实例形式分析了Python基于Pillow包更改图片属性的相关技巧,需要的朋友可以参考下
    2016-09-09

最新评论