Python全棧之路系列之列表數據類型

列表(list)同字符串同樣都是有序的,由於他們均可以經過切片和索引進行數據訪問,且列表的的是可變的。python

建立列表的幾種方法

第一種app

name_list = ['Python', 'PHP', 'JAVA']

第二種函數

name_list = list(['Python', 'PHP', 'JAVA'])

建立一個空列表code

>>> li = list() 
>>> type(li)
<class 'list'>

把一個字符串轉換成一個列表對象

>>> var="abc"
>>> li = list(var)
>>> li
['a', 'b', 'c']

list在把字符串轉換成列表的時候,會把字符串用for循環迭代一下,而後把每一個值看成list的一個元素。blog

把一個元組轉換成列表排序

>>> tup=("a","b","c")
>>> li=list(tup)
>>> type(li)
<class 'list'>
>>> li
['a', 'b', 'c']

把字典轉換成列表索引

>>> dic={"k1":"a","k2":"b","k3":"c"}
>>> li=list(dic)
>>> type(li)
<class 'list'>
>>> li
['k3', 'k1', 'k2']

字典默認循環的時候就是key,因此會把key看成列表的元素rem

>>> dic={"k1":"a","k2":"b","k3":"c"}
>>> li=list(dic.values())
>>> li
['c', 'a', 'b']

若是指定循環的是values,那麼就會把values看成列表的元素字符串

列表所提供的方法

在列表末尾添加新的對象

append(self, p_object):

>>> name_list = ['Python', 'PHP', 'JAVA']
>>> name_list.append("C#")
>>> name_list
['Python', 'PHP', 'JAVA', 'C#']

統計某個元素在列表中出現的次數

count(self, value):

屬性 描述
obj 列表中統計的對象
>>> name_list = ['Python', 'PHP', 'PHP']
>>> name_list.count("PHP")
2

用於在列表末尾一次性追加另外一個序列中的多個值

extend(self, iterable):

屬性 描述
seq 元素列表
>>> name_list = ['Python', 'PHP', 'Python']
>>> name_OS = ['Windows', 'Linux', 'Unix']
>>> name_list
['Python', 'PHP', 'Python']
>>> name_OS
['Windows', 'Linux', 'Unix']
# 把列表`name_OS`中的內容添加到`name_list`的尾部
>>> name_list.extend(name_OS)
# 輸出的結果
>>> name_list
['Python', 'PHP', 'Python', 'Windows', 'Linux', 'Unix']

從列表中找出某個值第一個匹配項的索引位置

index(self, value, start=None, stop=None):

屬性 描述
value 列表中統計的對象
# 查找對象所在的位置
>>> name_list = ['Python', 'PHP', 'JAVA']
>>> name_list.index("PHP")
1

將指定對象插入列表

insert(self, index, p_object):

屬性 描述
index 對象obj須要插入的索引位置
obj 要出入列表中的對象
>>> name_list = ['Python', 'PHP', 'JAVA']
# 把位置`1`的內容換成`C`,後面的自動退格一個位置
>>> name_list.insert(1,"C")
>>> name_list
['Python', 'C', 'PHP', 'JAVA']

移除列表中的一個元素,而且返回該元素的值

pop(self, index=None):

屬性 描述
index 可選參數,要移除列表元素的位置
>>> name_list = ['Python', 'PHP', 'JAVA']
# 刪除位置1上面的內容,而且返回刪除的字符串
>>> name_list.pop(1)
'PHP'
>>> name_list
['Python', 'JAVA']

移除列表中某個值的第一個匹配項

remove(self, value):

屬性 描述
value 列表中要移除的對象
>>> name_list = ['Python', 'PHP', 'JAVA', 'Python']
# 每次刪除的時候只會把第一次匹配到的值刪除,第二個值不會被刪除
>>> name_list.remove("Python")
>>> name_list
['PHP', 'JAVA', 'Python']
>>> name_list.remove("Python")
>>> name_list
['PHP', 'JAVA']

固然刪除元素還能夠直接使用del進行刪除:

>>> L = [1,2,3]
>>> del L[1]
>>> L
[1, 3]

又或者使用切片賦值進行元素刪除

>>> L = [1,2,3]
>>> L[1:2] = []
>>> L
[1, 3]

反向輸出列表中的元素

reverse(self):

>>> name_list = ['Python', 'PHP', 'JAVA']
>>> name_list
['PHP', 'JAVA', 'Python']
>>> name_list.reverse()
>>> name_list
['JAVA', 'PHP', 'Python']

對原列表進行排序,若是指定參數,則使用比較函數指定的比較函數

sort(self, cmp=None, key=None, reverse=False):

>>> name_list = ['Python', 'PHP', 'JAVA']
>>> name_list
['Python', 'PHP', 'JAVA']
>>> name_list.sort()
>>> name_list
['JAVA', 'PHP', 'Python']

清除列表內全部元素

>>> li
['Ansheng']
>>> li.clear()
>>> li
[]

同字符串同樣,列表也支持解析,稱爲列表解析

>>> li = [x for x in range(1,20)]
>>> li
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

原文連接


Python全棧之路系列文章

相關文章
相關標籤/搜索