列表是Python中一种常用的存储信息的方式,所以要熟练掌握列表的各种方法:

首先我们定义一个列表(name),然后练习里面的各种方法:

>>> name = ["Sora Aoi","Alex","Ria","sakurai","Ozawa","Maria"]

'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'

    append方法:

    L.append(object) -> None -- append object to end

append单词的含义是追加,在Python中也是这样的含义,向列表末尾进行追加元素

>>> name.append("Sora Aoi")
    >>> name
    ['Sora Aoi', 'Alex', 'Ria', 'sakurai', 'Ozawa', 'Maria', 'Sora Aoi']

append()方法是向列表的末尾添加元素,这个方法我们经常用到,定义一个空的列表,向列表中添加元素。

clear()方法:

    L.clear() -> None -- remove all items from L (删除列表中所有的值)

>>> name = ["Alex","tom","Aoi"]
  >>> name.clear()
  >>> name
  []
    列表中clear()方法是不需要参数的clear()方法的作用就是删除列表中的所有元素,这个函数的目的就是删除所有元素,列表中的方法。

    copy()方法:

    L.copy() -> list -- a shallow copy of L

>>> name = ["gen","Alex","tom"]
  >>> name.copy()
  ['gen', 'Alex', 'tom']
  >>> names = name.copy()
  >>> names
  ['gen', 'Alex', 'tom']
    copy()方法也不需要参要参数,把列表复制赋值给另外一个列表,列表复制的方法,可以替代有时候使用切片的时候

    count()方法:

    L.count(value) -> integer -- return number of occurrences of value

conunt()方法是统计一个值(value)在一个列表中(list)出现的次数(发生的次数)

>>> name = ["Aoi","Maria","Alex","Aoi"]
  >>> name.count("Aoi")
  2
    可以看出,count()方法是统计一个值(value)在一个列表中出现的次数,如果这个值没有在这个列表中,则返回0;统计一个值在一个列表中出现的次数,可用于删除这个值在列表中出现的情况,这样能够减少循环的次数,提高运行的效率。

    extend()方法:

    L.extend(iterable) -> None -- extend list by appending elements from the iterable

>>> name = ["Alex","Ria","Ozawa"]
  >>> name_list = ["sora Aoi","sakurai","Maria"]
  >>> name.extend(name_list)
  >>> name
  ['Alex', 'Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria']
    extend()列表是把两个列表进行合并的方法,有时候我们需要把两个列表进行合并,可以使用extend()方法,这种情况也是很常用的,把一个列表的信息添加到另外一个列表中。合并两个列表。

>>> name
  ['Alex', 'Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria']
  >> a = "tom"
  >>> name.extend(a)
  >>> name
  ['Alex', 'Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria', 't', 'o', 'm']
    如果是向列表中添加一个字符串的话,那么,列表会遍历字符串中的每个值,然后添加到列表中,遍历字符串中的值,然后添加。

    index()方法:

    L.index(value, [start, [stop]]) -> integer -- return first index of value.
    Raises ValueError if the value is not present.

index()方法是查找指定元素在列表中的位置,index()方法必须指定第一个参数,要查找哪个值在列表中的位置,也可以指定查找的起始位置;如果查找不到,系统会报错,如下所示:

>>> name
['Alex', 'Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria', 'Alex']
>>> name.index("Alex")
0
>>> name.index("Alex",2)
6
>>> name.index("Alex",2,8)
6
>>> name.index("Alex",2,3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'Alex' is not in list
    从上面程序可以看出,默认没有指定起始位置的话只查找第一个元素在列表中的位置,可以自己定义起始位置,从什么时候开始,或者从哪里开始到哪个位置结束。如果这个值不在列表中会报错,提示这个值不在列表中。

    insert()方法:

    L.insert(index, object) -- insert object before index

index是向列表中指定的位置添加元素,有两个参数,index(索引位置),object(值),向列表中指定位置的前面添加元素,占用原来元素的位置。

>>> name
  ['Alex', 'Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria', 'Alex']
  >>> name.insert(2,"Sb")
  >>> name
  ['Alex', 'Ria', 'Sb', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria', 'Alex']

insert()方法是向列表中添加元素,需要两个参数

    pop()方法:

    L.pop([index]) -> item -- remove and return item at index (default last).
    Raises IndexError if list is empty or index is out of range.

pop()方法是弹出列表末尾的元素,并且把这个弹出来的元素赋给一个新的变量,这个方法经常与append()和空列表结合使用,从一个列表中弹出元素进行验证,然后添加到另外一个列表中的情况:

>>> your = name.pop(12)
  Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
  IndexError: pop index out of range
  >>> name.pop()
  'Alex'
  >>> name
  ['Alex', 'Ria', 'Sb', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria']
  >>> name.pop(2)
  'Sb'

pop()方法是从列表中弹出元素,默认是弹出最后一个元素,也可以指定删除指定索引的值,pop([index]),如果指定的索引超过列表的长度,系统就会报错。

    remove()方法:

    L.remove(value) -> None -- remove first occurrence of value.
    Raises ValueError if the value is not present.

remove()方法是移除列表中第一个出现的指定的值,是指定要移除哪个值,首先是我们知道这个值,然后进行移除的情况

>>> name
  ['Alex', 'Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria']
  >>> name.remove("Alex")
  >>> name
  ['Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria']
    我们从列表中移除了"Alex",如果值不存在列表中,则会报错。

    reverse()方法:

    L.reverse() -- reverse *IN PLACE*

reverse()方法是将列表的元素进行颠倒,单词reverse的含义就是颠倒。

>>> name
  ['Maria', 'sakurai', 'sora Aoi', 'Ozawa', 'Ria']
  >>> name.reverse()
  >>> name
  ['Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria']
    方法reverse()是将列表中的元素进行倒转,颠倒,在我们需要把元素进行倒转的时候比较常用。

    sort()方法:

    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*

sort()方法是对列表进行排序的方法,里面有两个参数,需要指定名字,其中reverse默认时False,即排序后不反转,如果排序后反转的话,则需要注明:reverse=True,另外,字符串和数字是不能在同一个列表中进行排序的,在Python3中。

>>> name
['Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria']
>>> name.append(1)
>>> name
['Ria', 'Ozawa', 'sora Aoi', 'sakurai', 'Maria', 1]
>>> name.sort()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()
>>> name.pop()
1
>>> name
['Maria', 'Ozawa', 'Ria', 'sakurai', 'sora Aoi']
>>> name.sort()
>>> name
['Maria', 'Ozawa', 'Ria', 'sakurai', 'sora Aoi']
>>> name.sort(reverse=True)
>>> name
['sora Aoi', 'sakurai', 'Ria', 'Ozawa', 'Maria']
>>>
    从上面程序中我们可以看出,字符串和数字是不能够在一个列表中同时进行排序的(TypeError: unorderable types: int() < str()),在Python3中,排序后也可以直接进行列表反转的操作。

    del操作:

    del也可以删除列表中的元素,del 列表名[索引]

>>> name
  ['sora Aoi', 'sakurai', 'Ria', 'Ozawa', 'Maria']
  >>> del name[2]
  >>> name
  ['sora Aoi', 'sakurai', 'Ozawa', 'Maria']

Python中列表的各种方法的更多相关文章

  1. python中列表元素连接方法join用法实例

    python中列表元素连接方法join用法实例 这篇文章主要介绍了python中列表元素连接方法join用法,实例分析了Python中join方法的使用技巧,非常具有实用价值,分享给大家供大家参考. ...

  2. Python中列表的copy方法

    1.在列表中存在一个名为copy的方法,就像字面意思一样copy方法是用于复制列表元素的,示例如下: names = [‘Zhangsan’,’Lisi’,’WangErgou’] names2 = ...

  3. python中列表和元组以及字符串的操作

    python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...

  4. python中List的sort方法的用法

    python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法. 关键字: python列表排序 python字典排序 sorted List的元素可以是各种东 ...

  5. 【转】python中List的sort方法(或者sorted内建函数)的用法

    原始出处:http://gaopenghigh.iteye.com/blog/1483864 python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法. ...

  6. Python中bisect的使用方法

    Python中列表(list)的实现其实是一个数组,当要查找某一个元素的时候时间复杂度是O(n),使用list.index()方法,但是随着数据量的上升,list.index()的性能也逐步下降,所以 ...

  7. Python中列表,元组,字典,集合的区别

    参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...

  8. python中列表的insert和append的效率对比

    python中insert和append方法都可以向列表中插入数据只不过append默认插入列表的末尾,insert可以指定位置插入元素. 我们来测试一下他俩插入数据的效率: 测试同时对一个列表进行插 ...

  9. 【转】关于python中re模块split方法的使用

    注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...

随机推荐

  1. linux下ffmpeg安装(转)

    1.ffmpeg下载地址: http://www.ffmpeg.org/download.html 2.解压   1 $ tar xzvf ffmpeg.tar.bz2 这里作者假设已经重命名为ffm ...

  2. codeforces gym 100952 A B C D E F G H I J

    gym 100952 A #include <iostream> #include<cstdio> #include<cmath> #include<cstr ...

  3. ftp server安装与配置

    http://note.youdao.com/noteshare?id=905513cfcdba7d6a8d2fbdd0874a6259

  4. 题解 P1682 【过家家】

    P1682 过家家 题目描述 有2n个小学生来玩过家家游戏,其中有n个男生,编号为1到n,另外n个女生,编号也是1到n.每一个女生可以先选择一个和她不吵嘴的男生来玩,除此之外,如果编号为X的女生的朋友 ...

  5. Code::Blocks之自动打开上次未关闭工作空间

    问题:如何设置Code::Blocks,使每次打开软件时,自动打开上次未关闭的工作空间? 设置(S) -> 环境设置...(E) -> 常规设置: 勾选"在程序启动时" ...

  6. ZOJ 3778 C - Talented Chef 水题

    LINK:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3778 题意:有n道菜,每道菜需要\(a_i\)道工序,有m个锅可 ...

  7. Qt如何获得窗口的几何信息(Window Geometry)

    一个窗口除去窗框以后,余下部分称为客户区域.获得窗口的几何信息(坐标,长宽等)有以下两组命令: 1. 包括窗框(即整个窗口):x(), y(), frameGeometry(), pos(),  mo ...

  8. [php]require&require_once&include&include_once的用法与区别

    1.require和include是php引入php文件的两种方式,使用格式如下: require(include) 文件名; require(include) 变量(此变量存储的是文件名); 2.区 ...

  9. Html符号

  10. 【洛谷 P1772】 [ZJOI2006]物流运输(Spfa,dp)

    题目链接 \(g[i][j]\)表示不走在\(i\text{~}j\)时间段中会关闭的港口(哪怕只关\(1\)天)从\(1\)到\(m\)的最短路. \(f[i]\)表示前\(i\)天的最小花费.于是 ...