python列表操作函数大全_Python列表操作函数
列表可以進行多個數據的存儲,同時python中的列表設計非常到位,它可以實現內容動態擴充,可以進行后期數據的刪除,這些就需要通過Python提供的列表操作函數來實現了。
對于Python語言而言,開發者肯定要記住一些常用的函數,同事對于一些不常用的函數需要自己進行文檔的查看
列表操作函數
append(data) 在列表最后追加新內容
clear() 清除列表數據
copy() 列表拷貝
count() 統計某一個數據在列表中的出現次數
extend(列表) 為一個列表追加另外一個列表
index(data) 從列表查詢某個值第一次出現的位置
insert(index,data) 想列表中指定索引位置追加新數據
pop(index) 從列表彈出并刪除一個數據
remove(data) 從列表刪除數據
reverse() 列表數據反轉
sort() 列表數據排序
#空的列表信息
infos = []
print("初始化信息: %d" % len(infos))
infos.append("風哥")
infos.insert(0,"www.guji.work")
print("數據追加后的列表長度: %d, 列表內容: %s" % (len(infos),infos))
程序運行結果:
初始化信息: 0
數據追加后的列表長度: 2, 列表內容: ['www.guji.work', '風哥']
使用append()函數是在列表的最后進行追加的,而insert()是在指定的索引位置上進行添加,添加之后其它的數據向后移動。建議使用append()函數進行內容的追加,這樣可以保證數據的順序。
在進行列表數據追加的時候,還可以追加一個新的列表內容,這個就稱為列表的擴充。
#空的列表信息
infos = []
print("初始化列表長度: %d, 地址: %d " % (len(infos),id(infos)))
infos.append("風哥")
infos.extend(["夏丹"])
print("數據追加后的列表長度:%d, 地址: %d, 列表內容:%s " % (len(infos),id(infos),infos))
程序運行結果:
數據追加后的列表長度:2, 地址: 140331673610632, 列表內容:['風哥', '夏丹']
在進行列表數據擴充的操作里面的確是在一個內存空間里面完成的所有功能。列表操作的時候還提供一個列表的拷貝支持,直接使用copy()函數就可以使用當前列表的內容創建新的列表
msg = infos.copy()
print("infos列表的保存地址編號: %d, 列表內容: %s" % (id(infos),infos))
print("msg列表的保存地址編號:%d, 列表內容:%s" %(id(msg),msg))
程序運行結果:
infos列表的保存地址編號: 140200931293704, 列表內容: ['風哥', 'www.guji.work', 'www.baidu.com']
msg列表的保存地址編號:140200931293576, 列表內容:['風哥', 'www.guji.work', 'www.baidu.com']
此時創建了兩個不同的內存空間,同時兩個空間的內容是完全相同的。
列表除了可以進行內容的擴充之外,也可以執行刪除操作,列表里面提供有上傳函數的支持,remove()在進行刪除的時候是根據內容進行的數據刪除
remove()操作需要根據內容刪除,并且沒有返回值。在使用remove()函數刪除的時候內容存在可以刪除,不存在就會拋出”ValueError: list.remove(x): x not in list”異常信息,所以如果要使用這個函數操作之前一定要使用in進行判斷
infos = ["風哥", "www.guji.work"]
print("數據刪除前的列表內容:%s" %(infos))
print("執行數據刪除remove()函數 %s" % infos.remove("風哥"))
print("數據刪除后的列表內容: %s" % (infos))
程序執行結果:
數據刪除前的列表內容:['風哥', 'www.guji.work']
執行數據刪除remove()函數 None
數據刪除后的列表內容: ['www.guji.work']
如果不知道內容要進行數據的刪除,最簡單的原始的python支持可以采用del關鍵字實現內容刪除,而且使用del刪除的時候只需要知道列表數據的索引即可實現
infos = ["風哥", "www.guji.work"]
print("數據刪除前的列表內容:%s" %(infos))
del infos[1]
print("數據刪除后的列表內容: %s" % (infos))
程序執行結果為:
數據刪除前的列表內容:['風哥', 'www.guji.work']
數據刪除后的列表內容: ['風哥']
使用del關鍵字可以實現索引的刪除,但是無法知道被刪除了哪些數據,在整個的刪除操作里面,最方便的刪除是根據索引刪除,而后可以告訴用戶哪些數據被刪除了,這樣的功能就是pop函數
infos = ["風哥", "www.guji.work"]
print("數據刪除前的列表內容:%s" %(infos))
print("執行數據刪除pop()函數: %s " % infos.pop(1))
print("數據刪除后的列表內容: %s" % (infos))
程序執行結果:
數據刪除前的列表內容:['風哥', 'www.guji.work']
執行數據刪除pop()函數: www.guji.work
數據刪除后的列表內容: ['風哥']
使用pop()函數表示的是一個彈出的形式,從列表里面根據索引彈出,彈出的同時也就表示內容的刪除了。但是需要清楚一個問題,每當列表之中彈出一個數據之后實際上就都會發生索引變更。
infos = ["風哥", "www.guji.work"]
print("數據刪除前的列表內容:%s" %(infos))
print("執行數據刪除pop()函數: %s " % infos.pop(1))
print("執行數據刪除pop()函數: %s " % infos.pop(1))
print("數據刪除后的列表內容: %s" % (infos))
程序執行結果:
Traceback (most recent call last):
File "/tmp/pycharm_project_549/數據分片/列表操作函數.py", line 50, in
print("執行數據刪除pop()函數: %s " % infos.pop(1))
IndexError: pop index out of range
示例二:可以彈0,到最后列表內容為空
infos = ["風哥", "www.guji.work"]
print("數據刪除前的列表內容:%s" %(infos))
print("執行數據刪除pop()函數: %s " % infos.pop(0))
print("執行數據刪除pop()函數: %s " % infos.pop(0))
print("數據刪除后的列表內容: %s" % (infos))
程序執行結果:
數據刪除前的列表內容:['風哥', 'www.guji.work']
執行數據刪除pop()函數: 風哥
執行數據刪除pop()函數: www.guji.work
數據刪除后的列表內容: []
知識點:
列表中的數據是保存順序的,列表中所有數據的內容采用的是FIFO(先進先出)默認的順序操作的,利用列表中的append()和pop()函數就可以方便的實現這樣的先進先出的功能。
infos = []
for item in range(10):
infos.append("風哥 - %d" % item)
print("列表初始化內容: %s" %infos)
print("列表數據彈出處理:")
for item in range(len(infos)):
print("列表數據彈出: %s" % infos.pop(0))
# 索引會改變,但是從頭開始彈出
程序執行結果:
列表初始化內容: ['風哥 - 0', '風哥 - 1', '風哥 - 2', '風哥 - 3', '風哥 - 4', '風哥 - 5', '風哥 - 6', '風哥 - 7', '風哥 - 8', '風哥 - 9']
列表數據彈出處理:
列表數據彈出: 風哥 - 0
列表數據彈出: 風哥 - 1
列表數據彈出: 風哥 - 2
列表數據彈出: 風哥 - 3
列表數據彈出: 風哥 - 4
列表數據彈出: 風哥 - 5
列表數據彈出: 風哥 - 6
列表數據彈出: 風哥 - 7
列表數據彈出: 風哥 - 8
列表數據彈出: 風哥 - 9
總結
以上是生活随笔為你收集整理的python列表操作函数大全_Python列表操作函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery 手指滑动多半屏_JS拖拽专
- 下一篇: 神经网络python实例分类_Pytho