zoukankan      html  css  js  c++  java
  • Python中列表的各种方法

        列表是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']

  • 相关阅读:
    virtualenv的使用
    node.js报错:Cannot find module 'xxx'的解决办法
    mysql
    cProfile分析程序性能
    python实现一个无序单链表
    修改pycharm中的flask项目名遇到的坑
    Model class apps.goods.models.GoodsType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS
    已安装的nginx添加其他模块
    pip install 一个本地包时提示error: Microsoft Visual C++ 14.0 is required.
    解决adober reader已停止工作的问题
  • 原文地址:https://www.cnblogs.com/gengcx/p/6711362.html
Copyright © 2011-2022 走看看