Python 3 學習筆記:序列(二)

Python 3 學習筆記:序列(二)


訪問列表元素

因為列表也是序列的一種,所以也可以使用索引、切片的方式獲取列表中的元素。

操作列表元素

添加元素

可以使用 append() 方法向列表的結尾處追加一個元素,

list.append(element)


該方法只能向列表的結尾處追加元素,如果想要向列表的中間插入一個元素,可以使用如下方法,

list.insert(index, element)


insert() 方法會向指定的索引處插入一個元素,原位置的元素及其以後的元素會自動向後退一位,即其原索引加一。

上面的兩種方法都是想列表中添加一個單一的元素,如果想要向一個列表中添加另一個列表,則可以使用如下方法,

list.extend(sequence)

複製

該方法會將 sequence 中的元素按原順序依次追加到 list 的結尾處。

示例代碼:

list = ["hello", "python"]
# append() 方法
list.append(2019)
print(list)
# insert() 方法
list.insert(2, "world")
print(list)
# extend() 方法
sequ = ["天下", "興亡"]
list.extend(sequ)
print(list)


修改元素

通過索引定位到要修改的元素,然後直接給其賦值即可,

list[index] = newValue


刪除元素

  1. 通過索引刪除

和修改元素相似,定位要刪除的元素的索引,然後使用 del 關鍵字刪除即可,

del list[index]


  1. 根據元素的值刪除

使用列表的 remove() 方法實現,

list.remove(elementValue)


對列表進行統計與計算

  1. 獲取某個元素出現的次數

使用列表的 count() 方法可以獲取列表中某個元素的個數,

list.count(element)


  1. 獲取某個元素首次出現的索引

通過列表的 index() 方法可以獲取指定元素在該列表中第一次出現的索引,

list.index(element)


  1. 求純數字列表中元素的和

如果一個列表的元素全部是數字,則可以使用列表的 sum() 方法求其全部元素的和,

sum(list, addend)

複製

其中,addend 為可選參數,默認值 0,如果指定則在列表元素之和的基礎上再加上 addend ,如:

list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(sum(list))
print(sum(list, 3))


列表元素排序

  1. sort() 方法

該方法用於將列表中的元素按指定方式排序,排序後元素的索引將會改變,

list.sort(key=None, reverse=False)


key 用於指定從每個元素中提取一個用於比較的鍵;reverse 默認為 False,表示升序排列,如果為 True 則降序排列。

sort() 方法沒有返回值,所以只能對列表排序後,輸出該列表,

list = ["hello", "Python", "world", "Welcome", "list"]
list.sort()
print(list)

複製

對全部元素均為數字的列表排序很簡單,如果是對字符串元素進行排序,則先對大寫字母排序,然後再對小寫字母進行排序。如果想不區分大小寫排序,需要指定 key 參數的值,如 key=str.lower 。

而且,需要注意如果一個列表中的元素既有數字,又有字符串,則無法使用 sort() 方法進行排序。

  1. sorted() 函數

在 Python 中,提供了一個內置的 sorted() 函數,用於對列表進行排序,該方法返回一個排序後的列表,而原列表保持不變,

new_list = sorted(old_list, key=None, reverse=False)


其中,參數 key 和 reverse 的作用和 sort() 方法的參數一樣,例如:

old_list = ["hello", "Python", "world", "Welcome", "list"]
new_list = sorted(old_list, key=str.lower, reverse=True)
print(new_list)


反轉列表元素

可以使用列表的方法 reverse() 將列表中的元素反轉,

list.reverse()


此方法沒有返回值,使用後列表中的元素就會反轉調換。

元組

元組與列表相似,也是有一系列按特定順序排列的元素(可以是 Python 中的任意數據類型)組成,但元組是不可變序列,即不能向元組中追加、刪除元素。在形式上,元組的所有元素被放入一對小括號中,兩個相鄰的元素使用逗號分隔,元素之間沒有任何關係。由於元組的不可變特性,所以元組一般用於保存程序中不可修改的內容。

創建元組

只需要給元組指定一個標識符,然後在其中填充元素即可,

tuple = ("hello", "python", 2019, 7, 31)


我們也可以創建一個空元組,

tuple = ()


在 Python 中,元組也不是一定就會使用小括號括起來,只要將一組元素使用逗號分隔開來,Python 就可以視其為元組,

tuple = "hello", "python", 2019, 7, 31


當我們使用 print() 函數打印該元組時,這些元素將會被小括號括起來。

如果創建一個只有一個元素的元組,則需要在元素後面加一個逗號,否則該元組將會被視為一個字符串,或者其他數據類型。

刪除元組

因為元組已經創建就不可再改變,所有隻能刪除元組,而不能刪除其中的元素,

del tuple


訪問元組元素

元素也是一種序列,所以也可以使用索引、切片的方式訪問其中的元素。

元組與列表的區別

  1. 列表屬於可變序列,其元素可以被修改或刪除;而元組不能,只能整體替換
  2. 元組比列表的訪問和處理速度快
  3. 元組可以作為字典的鍵,而列表不可以

字典

在 Python 中,字典也是可變序列,但是字典沒有索引,而是以 鍵-值 對的形式存儲數據。字典具有一下特徵;

  1. 通過
    而不是索引來讀取
  2. 字典是任意對象的無需集合
  3. 字典是可變的,並且可以任意嵌套
  4. 字典的 必須是唯一的
  5. 字典的 必須不可變

創建字典

定義字典時,每個元素都包含兩個部分 ,它們之間使用冒號分隔,組成一個元素,元素和元素之間使用逗號分隔,

dictionary = {key_1:value_1, key_2:value_2, ..., key_n:value_n}


元組中每個元素的 必須是唯一的、不可變的,可以是數字、字符串或者元組。元素的 可以是 Python 中的任何數據類型,且可以不是唯一的。

除了直接創建字典,也可以通過 dict() 和 zip() 函數將列表、元組組合成一個字典,

dictionary = dict(zip(tuple, list))


如果 tuple 和 list 的長度不同,則以短的為基準創建相同長度的字典。

刪除字典

刪除字典同樣可以使用 del 關鍵字,

del dictionary


如果不想刪除字典,而只是想刪除其中的全部元素,則可以使用 clear() 方法,

dictionary.clear()


訪問字典元素

因為字典不像列表、元組一樣具有索引,所以不能通過索引、切片的方式訪問其元素。字典只能通過 訪問其對應的

操作字典元素

添加元素

字典同列表一樣是可變序列,所以可以向其中添加元素,只需要指定元素的鍵和值即可,

dictionary[key] = value


只要新加入的 key 在字典中已存在的中不存在即可。

修改元素

修改字典的元素其實就是變相的添加元素,只需要 key 值在字典中已存在,就會將其對應的 value 替換成新的值。

刪除元素

刪除字典中的元素同樣可以使用 del 關鍵字,

del dictionary[key]

複製

將字典元素的 key 刪除,其對應的 value 也會被刪除,則這個元素在字典中就不存在了。

集合

Python 中的集合和數學中的集合相似,也是用於保存不重複元素的,有可變集合和不可變集合兩種。在形式上,集合中的元素之間用逗號分隔,所有元素被放在大括號中。集合最好的應用就是去除重複元素,因為集合中的每個元素都是唯一的。

創建集合

直接將所有元素放入括號中,然後給定一個標識符即可,

1
set = {element_1, element_2, ..., element_n}


如果創建集合的時候,不小心輸入了若干個重複的元素,Python 會自動只保留一個。

我們也可以使用 set() 函數將列表、元組轉換成集合,

1
set = set(list/tuple)
 


如果我們想創建一個空集合,也只能使用 set() 方法,而不使用空的大括號(因為空的大括號表示一個空字典)。

刪除集合

集合同樣可以使用 del 關鍵字刪除,

1
del set


操作結合

添加元素

可以使用 add() 方法向集合中添加元素,

1
set.add(element)


刪除元素

可以使用 pop() 或 remove() 方法刪除集合中的元素,或者使用 clear() 方法清空集合中的元素,

set.pop()


pop() 方法會按順序刪除集合中的第一個元素。

set.remove(element)


remove() 方法需要指定要刪除的元素,如果該元素不存在,則拋出異常。

set.clear()


clear() 方法會刪除集合中的所有元素,使其變為一個空集合。

集合運算

交集

在 Python 中,求集合的交集使用 & 符號進行運算。

並集

在 Python 中,求集合的並集使用 | 符號進行運算。

差集

在 Python 中,求集合的差集使用 - 符號進行運算。

對稱差集

在 Python 中,求集合的對稱差集使用 ^ 符號進行運算。

例如,

set_1 = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}
set_2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
print(set_1 & set_2)
print(set_1 | set_2)
print(set_1 - set_2)
print(set_1 ^ set_2)

◆ ◆ ◆ ◆ ◆

為了幫各位觀眾老爺們快速入門python,我在這裡準備了一套“經典入門教程”,這些是入門付費教程哦,現在當做福利免費贈送給各位觀眾老爺們,私信我“python入門”就可以領取!

點擊我的頭像關注我進入主頁,就能看到私信按鈕了。私信我“python入門”,一個字不能多一個字不能少,即可快速領取!


分享到:


相關文章: