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']


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM