python 清空所有对象_Python编程思想(7):列表的增删改操作
生活随笔
收集整理的這篇文章主要介紹了
python 清空所有对象_Python编程思想(7):列表的增删改操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
李寧老師已經在「極客起源」 微信公眾號推出《Python編程思想》電子書,囊括了Python的核心技術,以及Python的主要函數庫的使用方法。讀者可以在「極客起源」 公眾號中輸入?160442?開始學習,或點擊「極客起源」公眾號下方的「編程思想」?>??「Python編程思想」?菜單開始學習。
-----------正文-----------
在前文已經提到,列表與元組最大的區別在于:元組是不可改變的,列表是可以改變的。元組支持的操作,列表基本上都支持;列表支持對元素的修改,而元組則不支持。從這個角度來看,可以認為列表是增強版的元組。盡管大多數情況可以使用列表來代替元組,但如果程序不需要修改列表中的元素時,使用元組代替列表則會更安全。1. 創建列表和元組在前面已經介紹了使用方括號語法創建列表,其實Python 還提供了一個內置的list()函數來創建列表,list()函數可用于將元組、區間(range)等對象轉換為列表。示例代碼:創建列表.pya_tuple = ('極客起源', 40, 123.5, True)# 將元組轉換成列表a_list = list(a_tuple)print(a_list) # ['極客起源', 40, 123.5, True]# 使用range()函數創建區間(range)對象a_range = range(1, 20)print(a_range) # range(1, 20)# 將區間轉換成列表b_list = list(a_range)# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]print(b_list)# 創建區間時還可以指定步長c_list = list(range(4, 20, 2))print(c_list) # [4, 6, 8, 10, 12, 14, 16, 18]上面程序中使用list()函數將1個元組轉換為列表。然后又將一個區間(range) 對象轉換為列表,該行代碼轉換的區間為range(1, 20),該區間的默認步長是1,該區間共包括1到19共19個值(注意:range()函數創建的區間是半閉半開的,所以不包括20)。因此程序輸出b_ _list 時將看到如下結果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]最后將range(4, 20,2)轉換為列表,該區間是從4到20 (不包括20)且步長為2的數值,因此程序輸出c__list時將看到如下結果:[4, 6, 8, 10, 12, 14, 16, 18]與list()對應的是Python 也提供了一個tuple()函數,該函數可用于將列表、區間(range)等對象轉換為元組。示例代碼:創建元組.pya_list = ['公眾號:極客起源', 120, False]# 將列表轉換成元組a_tuple = tuple(a_list)print(a_tuple) # ('公眾號:極客起源', 120, False)# 使用range()函數創建區間(range)對象a_range = range(1, 10)print(a_range) # range(1, 10)# 將區間轉換成元組b_tuple = tuple(a_range)print(b_tuple) #(1, 2, 3, 4, 5, 6, 7, 8, 9)# 創建區間時還指定步長c_tuple = tuple(range(4, 20, 2))print(c_tuple) # (1, 2, 3, 4, 5, 6, 7, 8, 9)2. 向列表添加元素(append)為列表添加元素可以使用列表的append()方法,該方法會把傳入的參數值追加到列表的最后。append()方法既可接收單個值,也可接收元組、列表等,但該方法只是把元組、列表當成單個元素,這樣就會形成在列表中嵌套列表、嵌套元組的情形。示例代碼:向列表添加元素.pya_list = ['公眾號:極客起源', 200, 12]# 追加元素a_list.append('輸入160442獲取《Python編程思想》')# ['公眾號:極客起源', 200, 12, '輸入160442獲取《Python編程思想》']print(a_list)a_tuple = (44.3, 100)# 追加元組,元組被當成一個元素a_list.append(a_tuple)# ['公眾號:極客起源', 200, 12, '輸入160442獲取《Python編程思想》', (44.3, 100)]print(a_list)# 追加列表,列表被當成一個元素a_list.append(['x', 'y'])# ['公眾號:極客起源', 200, 12, '輸入160442獲取《Python編程思想》', (44.3, 100), ['x', 'y']]print(a_list)從上面代碼可以看出,為列表追加另一個列表時,Python 會將被追加的列表當成1個整體的元素,而不是追加目標列表中的元素。3. 向列表添加元素(extend)在上一節講了append()方法,但這個方法只會將列表當成一個整體的元素添加,如果希望不將被追加的列表當成一個整體, 而只是追加列表中的元素,則可以使用列表的extend()方法。示例代碼:向列表添加元素(extend).pyb_list = ['x', 120]# 追加元組中的所有元素b_list.extend(("極客起源", "蒙娜麗寧"))print(b_list) # ['x', 120, '極客起源', '蒙娜麗寧']# 追加列表中的所有元素b_list.extend(['A', 'B', 'C'])print(b_list) # ['x', 120, '極客起源', '蒙娜麗寧', 'A', 'B', 'C']# 追加區間中的所有元素b_list.extend(range(99, 104))print(b_list) # ['x', 120, '極客起源', '蒙娜麗寧', 'A', 'B', 'C', 99, 100, 101, 102, 103]4. 向列表插入元素(insert)追加元素是指在列表最后插入元素,而如果希望在列表中間插入元素,則可以使用列表的insert()方法,使用insert()方法時要指定將元素要插入的位置。示例代碼:向列表插入元素(insert).pyc_list = list(range(1, 5))print(c_list) # [1, 2, 3, 4]# 在索引位3的位置插入一個字符串c_list.insert(3, '極客起源')print(c_list) # [1, 2, 3, '極客起源', 4]# 在索引為2處插入一個元組(將字符串轉換為元組),元組被當成一個元素c_list.insert(2, tuple('蒙娜麗寧'))print(c_list) # [1, 2, ('蒙', '娜', '麗', '寧'), 3, '極客起源', 4]5. 刪除列表元素刪除列表元素需要使用del語句。del 語句是Python的一種語句,專門用于執行刪除操作,不僅可用于刪除列表的元素,也可用于刪除變量等操作。使用del語句既可刪除列表中的單個元素,也可直接刪除列表的中間一段。示例代碼:刪除列表元素.pya_list = ['Python', 200, -12.4, (30, 12,5), 'UnityMarvel']# 刪除第3個元素del a_list[2]print(a_list) # ['Python', 200, (30, 12, 5), 'UnityMarvel']# 刪除第2個到第4個(不包含)元素del a_list[1: 3]print(a_list) # ['Python', 'UnityMarvel']b_list = list(range(1, 10))# 刪除第3個到倒數第2個(不包含)元素,間隔為2del b_list[2: -2: 2]print(b_list) # [1, 2, 4, 6, 8, 9]# 刪除第3個到第5個(不包含)元素del b_list[2: 4]print(b_list) # [1, 2, 8, 9]使用del語句不僅可以刪除列表元素,也可以刪除普通變量。示例代碼:name = 'UnityMarvel'print(name) # UnityMarvel# 刪除name變量del name#print(name) # 拋出異常上面的代碼刪除了name變量,因此接下來訪問name變量時將會拋出異常(引發NameError錯誤)。除使用del語句之外,Python 還提供了remove()方法來刪除列表元素,該方法并不是根據索引來刪除列表元素的,而是根據元素本身來執行刪除操作的。該方法只刪除第1個找到的元素,如果找不到該元素,該方法將會拋出異常(引發ValueError錯誤)。示例代碼:c_list = [20, 'Python', 30, -40, 'Node.js', 6.4]# 刪除第一次找到的30c_list.remove(30)print(c_list) # [20, 'Python', -40, 'Node.js', 6.4]# 刪除第一次找到的'Node.js'c_list.remove('Node.js')print(c_list) # [20, 'Python', -40, 6.4]# 清空列表c_list.clear()print(c_list) # []在這段代碼的最后,使用列表的clear方法清空了整個列表。6. 修改列表元素列表的元素相當于變量,因此程序可以對列表的元素賦值,這樣即可修改列表的元素。私立代碼:修改列表元素.pya_list = [True, False, -3.14, 'Python', 'UnityMarvel']# 對第3個元素賦值a_list[2] = 2.71828print(a_list) # [True, False, 2.71828, 'Python', 'UnityMarvel']# 對倒數第1個元素賦值a_list[-1] = "超平臺開發系統"print(a_list) # [True, False, 2.71828, 'Python', '超平臺開發系統']上面代碼通過索引對列表元素賦值,程序既可使用正數索引,也可使用負數索引。此外,程序也可通過分片對列表其中一部分賦值, 在執行這個操作時并不要求新賦值的元素個數與原來的元素個數相等。這意味著通過這種方式既可為列表增加元素,也可刪除列表中的元素。示例代碼:b_list = list(range(1, 5))print(b_list) # [1, 2, 3, 4]# 將第2個到第4個(不包含)元素賦值為新列表的元素b_list[1: 3] = ['x', 'y']print(b_list) #[1, 'x', 'y', 4]如果對列表中空的分片賦值,就變成了為列表插入元素。示例代碼:# 將第3個到第3個(不包含)元素賦值為新列表的元素,也就是插入操作b_list[2: 2] = ['t1', 't2']print(b_list) # 1, 'x', 't1', 't2', 'y', 4]如果將列表其中一段賦值為空列表,就變成了刪除列表中的元素。示例代碼:# 將第3個到第6個(不包含)元素賦值為空列表,相當于刪除操作b_list[2: 5] = []print(b_list) # [1, 'x', 4]對列表使用分片語法賦值時,不能使用單個值。如果使用字符串賦值,Python 會自動把字符串當成序列處理,其中每個字符都是一 個元素。實例代碼:# Python會自動將str分解成序列b_list[1: 3] = 'hello'print(b_list) # [1, 'h', 'e', 'l', 'l', 'o']在使用分片語法賦值時,也可指定step參數。但如果指定了step參數,則要求所賦值的列表元素個數與所替換的列表元素個數相等。示例代碼:c_list = list(range(1, 10))# 指定step為2,被賦值的元素有4個,因此用于賦值的列表也必須有4個元素c_list[2: 9: 2] = ['a', 'b', 'c', 'd']print(c_list) # [1, 2, 'a', 4, 'b', 6, 'c', 8, 'd']往期回顧:Python編程思想(1):Python簡介與開發環境搭建Python編程思想(2):Python主要特性、命名規則與代碼縮進Python編程思想(3):數字及其相關運算Python編程思想(4):字符串類型Python編程思想(5):列表與元組的基礎知識Python編程思想(6):格式化字符串總結
以上是生活随笔為你收集整理的python 清空所有对象_Python编程思想(7):列表的增删改操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dft变换的两幅图_快速傅里叶变换FFT
- 下一篇: eclipse集成lombok了但是无法