Python從菜鳥到高手(11):列表的基礎操作

來源:互聯網
上載者:User

標籤:int   串連   數字   刪除元素   數組   字串   oid   包括   乘法   

  列表可以使用所有適用於序列的標準操作,例如索引、分區、串連和乘法。但列表還有一些屬於自己的操作,如修改列表本身的操作,這些操作包括元素賦值、元素刪除、分區賦值以及下一節要將的列表方法。

1. 列表元素賦值

  如果要修改列表中的某一個元素,可以像使用數組一樣對列表中的特定元素賦值,也就是使用一對中括弧指定元素在列表中的索引,然後使用賦值運算子(=)進行賦值。

  本例修改了列表s中的前兩個元素值。

s = ["Bill", "Mike", "John"]s[0] = "Mary"s[1] = 20print(s)            # 運行結果:[‘Mary‘, 20, ‘John‘]

程式運行結果如所示。

  在上面的代碼中,通過列表的元素賦值操作,修改了列表s中的前兩個的元素,第1個元素修改成了“Mary”,第2個元素修改成了20。

  在列表元素賦值的操作中,清單索引可以是負數,在這種情況下,會從列表最後一個元素開始算起。例如,s[-1]表示倒數第1個列表元素,s[-2]表示倒數第2個列表元素。不過不管清單索引使用正數還是負數,都不能超過索引範圍,否則會拋出異常。

  本例使用超過清單索引範圍的索引,會拋出異常。

s = ["Bill", "Mike", "John"]s[-1] = "Mary"                      #  修改列表最後一個元素值print(s)                                  #  運行結果:[‘Bill‘, ‘Mike‘, ‘Mary‘]   s[3] = "Peter"                       #  索引3超出了列表s的索引範圍(-3到2),會拋出異常s[-3] = "蜘蛛俠"                    #  索引-3是列表s的第1個元素,相當於s[0]print(s)                            #  運行結果:[‘蜘蛛俠‘, ‘Mike‘, ‘Mary‘]s[-4] = "鋼鐵俠"                    #  索引-4超出了列表s的索引範圍(-3到2),會拋出異常

程式運行結果如所示。

2. 刪除列表元素

  從列表中刪除元素也很容易,使用del語句就可以做到。

numbers = [1,2,3,4,5,6,7,8]del numbers[2]     # 刪除列表numbers中的第3個元素
3. 分區賦值

  分區賦值和分區擷取子列表一樣,也需要使用分區操作,也就是需要指定要操作的列表的範圍。

  本例將利用分區賦值將列表中的子列表替換成其他列表。並使用list函數將字串分解成由字元組成的列表,並替換字串中的某一部分。

s = ["hello", "world","yeah"]s[1:] = ["a","b","c"]           # 將列表s從第2個元素開始替換成一個新的列表print(s)                        # 運行結果:[‘hello‘, ‘a‘, ‘b‘, ‘c‘]name = list("Mike")         # 使用list函數將“Mike”轉換成由字元組成的列表print(name)                 # 運行結果:[‘M‘, ‘i‘, ‘k‘, ‘e‘]name[1:] = list("ary")          # 利用分區賦值操作將“Mike”替換成了“Mary” print(name)                 # 運行結果:[‘M‘, ‘a‘, ‘r‘, ‘y‘]

程式運行結果如所示。

  上面的代碼使用了分區賦值對原列表進行了賦值操作,我們可以看到,分區賦值是用另一個列表來修改原列表中的子列表。也就是將原列表中的子列表替換成另外一個子列表。而且在賦值時,被替換的子列表和新的子列表可以不等長。例如,["world","yeah"]可以被替換為[‘a‘, ‘b‘, ‘c‘]。

  可能有很多讀者會想到,我們可以利用這個特性在列表中插入一個列表,或刪除一些列表元素。

  本例將利用分區賦值在列表numbers中插入一個列表,並刪除一些列表元素。

numbers = [1,6,7]# 在列表numbers中插入一個列表,運行numbers[1:1] = [2,3,4,5]    print(numbers)numbers[1:4] = []print(numbers)

程式運行結果如所示。

  在上面的代碼中,使用分區賦值操作在列表numbers中的1和6之間插入了列表[2,3,4,5]。numbers[1:1]中冒號(:)前面的數字表示要替換的子列表的第1個元素在父列表中的索引,而冒號後面的數字表示子列表下一個元素在父列表中的索引,所以冒號前後兩個數字相等,表示不其他清單中的任何元素,直接在冒號前面的數字表示的索引的位置插入一個新的列表。最後使用分區賦值將第2、3、4個元素值替換成了空列表,所以最後numbers列表的值是[1,5,6,7]。

《Python從菜鳥到高手》已經出版,開始連載了,購買送視頻課程

Python從菜鳥到高手(11):列表的基礎操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.