python 元組 tuple 與字典型別

2021-10-06 09:23:53 字數 3474 閱讀 2037

目錄

目錄

一. 元組(tuple)

1.1 元組的建立

1.2 元組的訪問

1.3 元組的排序

1.4 推導式生成元組

二. 字典

2.1 字典的建立

2.2 字典的訪問

2.3 字典的常用方法

2.4 字典的新增、修改、刪除

三. 集合

3.1. 集合的常用操作

①元組屬於不可變數列,列表屬於可變數列。即建立後即不可修改。元組沒有增加元素、修改元素、刪除元素的方法

②但是訪問元素、拼接元素、切片操作、運算操作、計數操作還是可以使用的。

③元組的訪問和處理速度比列表快

④與整數和字串一樣,元組可以作為字典的鍵,但是列表則不可以

① ()建立:a = (1,2,3)  或者是省略(),直接a = 1,2,3 都可以建立元組物件

注意:如果元組物件只有乙個,建立時要在後面加, a = (1,),否則直譯器會把a作為乙個整數來處理

②通過tuple()建立:a = tuple(可迭代物件)  a=tuple('a,b,c')  a=tuple(range(3))  a=tuple([a,b,c])

元組的訪問與列表的訪問基本一致,可通過下標、切片(開始下標、結束下標、步長)等方式進行訪問

可以通過sorted()函式完成元組的排序,sorted方法生成的總是列表物件

max()、min()、sum()等方法均可使用

可以通過推導式生成元組的方式:a = (x * 2 for x in range(5))

tuple(a) 的值就是(0,2,4,6,8)

a首先是生成的生成器物件,該物件只能通過指標訪問一次,然後通過tuple函式轉換成元組物件

生成器物件還可以通過__next__()函式,乙個乙個的通過指標完成訪問,注意,是兩個下劃線

a.__next__(),此時是訪問a中的第乙個指標位置元素:0

a.__next__(),此時是訪問a中的第二個指標位置元素:2

以此類推

簡介:①:字典是鍵值對的無序可變序列,kv形式的序列,通過鍵找值

①. 通過{}、dict()來建立字段物件,dict()結合列表元組的方式建立字典

a = 

b = dict(name="張三", age=18, store=[1, 2, 3])

# dict()結合列表元組的方式建立字典, 列表中時元組,每乙個元組代表乙個鍵值對

c = dict([('name', '張三'), ('age', 18), ("store", [1,2,3])])

②.通過zip方式建立字典物件,將兩個列表打包成鍵值對

k = ["name", "age", "store"]

v = ["張三", 18, [1, 2, 3]]

kv = dict(zip(k, v))

③. 通過fromkeys建立值為空的字典

d = dict.fromkeys(["name", "age", "store"])
a = 

# 1. 通過訪問,如果鍵不存在,則會丟擲異常

print(a["name"])

print(a["namesss"]) #丟擲異常

# 2. 通過get()方法獲取鍵值,如果鍵不存在,則返回none,或者指定的返回字串,推薦使用

print(a.get("name"))

print(a.get("namesss", "不存在返回的字串")) #返回值:不存在返回的字串

a = 

# 1. 列出所有鍵值對

a.items()

# 2. 列出所有鍵/值

a.keys()

a.values()

# 3. 獲取字典物件鍵值對的長度

len(a)

# 4. 檢測乙個鍵是否存在於字典物件中,返回true/false

"name" in a

dict_a = 

# 1.直接新增,如果鍵不存在,則直接新增,如果鍵已經存在,則直接覆蓋

dict_a["address"] = "杭州市"

print(dict_a)

# 2. update(),將新字典中的鍵值對全部新增到舊字典的鍵值對中,如果存在,直接覆蓋

b =

dict_a.update(b)

# 此時dict_a=

# 3.字典的刪除

# del(dict_a["age"]) 可以直接刪除指定的鍵

# b = pop("***") 將指定的鍵刪除,並返回該鍵的值給b

# dict_a.clean() 將該字典的所有鍵值對清空

# 4.隨機刪除popitem()方法,因為字典是無序的,所以呼叫該方法時,會隨機刪除鍵值對,並返回鍵的值

print(dict_a.popitem())

# 5.序列解包:類似於迭代器的意思,將元組、列表、字典通過簡易寫法完成複製,可以方便的對多個變數賦值

print(dict_a)

a, b, c = (1, 2, 3)

d, e, f = [4, 5, 6]

# 賦值字典的所有鍵,字典的序列解包必須要與字典的值個數一致,否則就會報錯

h, i, j, k, l = dict_a

# 賦值字典的值

h, i, j, k, l = dict_a.values()

# # 賦值字典的鍵值,返回值為元組

h, i, j, k, l = dict_a.items()

集合的底層實現就是字典,只有字典的鍵物件,並且是不能重複的唯一值

# 1.使用{}建立,使用add()新增元素

set_a =

# 因為集合不能重複,所以再add乙個1,該集合的值不會改變

set_a.add(1)

# 2.使用set()函式,將列表、元組等可迭代物件轉為集合物件

list_a = ["a", "b", "c"]

set_b = set(list_a)

# 3. remove()刪除指定元素,clean()清空集合

set_a.remove(1)

set_b.clear()

# 4.集合的相關操作,交集並集差集

a =

b =

# 並集,結果為

a | b

a.union(b)

# 交集,結果為

a & b

a.intersection(b)

# 差集,結果為

a - b

a.difference(b)

Python列表list與元組tuple

列表與元組都同為存放有序專案的資料結構,最大的區別在於 tup1 physics chemistry 1997,2000 tup2 1,2,3,4,5 tup3 a b c d 從 可以看出,其實元組的建立與圓括號無關,最重要的是逗號,這個也是逗號在python的作用之一,元組型別的轉換 tu ab...

python 元組tuple與列表list的區別

使用help可檢視到tuple list的內建屬性區別 t 1,2,s1 l 1,2,s1 不可變列表 這一說法,從屬性中可以看出,list中與增減改元素的屬性,tuple都沒有。元組的內建屬性 t.count value integer return number of occurrences o...

Python基礎 tuple元組

前面看過了list列表的特性以及通用操作和常用操作,今天我們來看一下不可變序列中的tuple元組,與list列表最大的不同在於,tuple元組不支援原位改變 接下來我們通過一段 來測試一下tuple元組的特性以及通用操作 異質 乙個tuple元組中可以包含不同型別的物件 數值型 字元型 元組 列表 ...