Python全棧之列表數據類型詳解

這篇文章主要給大家介紹了關於Python全棧之列表數據類型的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

列表(list)同字符串一樣都是有序的,因爲他們都可以通過切片和索引進行數據訪問,且列表是可變的。

創建列表的幾種方法

第一種

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

第二種

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

創建一個空列表

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

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

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

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

把一個元組轉換成列表

>>> 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當作列表的元素

>>> 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
['Python', 'PHP', 'JAVA']
>>> 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]

總結

以上就是我在處理客戶端真實IP的方法,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章