導航:首頁 > 編程語言 > python學習筆記十大字典

python學習筆記十大字典

發布時間:2022-10-11 12:22:33

python字典創建、基本操作以及常用方法

創建一個空字典自需要一對大括弧即可,從已有的鍵-值對映射或關鍵字參數創建字典需要使用 dict 函數(類)

把一個列表轉為字典,列表的每一項都是長度為2的序列。

還可使用 關鍵字實參 (**kwargs)來調用這個函數,如下所示:

字典的基本操作與序列十分相似:

字典與序列的不同:

方法 clear 刪除所有的字典項(key-value)。

復制,得到原字典的一個新副本。

效果等同於調用 dict(d) 創建新字典。
() 執行的是 淺復制 ,若字典的值是一個可變對象,那麼復制以後,相同一個鍵將關聯到同一個對象,修改該對象,將同時修改兩個字典。

模塊中的函數deep 可執行深復制。

方法fromkeys 創建一個新字典,其中包含指定的鍵,且每個鍵對應的值都是None,或者可以提供一個i額默認值。

方法get 為訪問字典項提供了寬松的環境。通常,如果你試圖訪問字典中沒有的項,將引發錯誤,而get直接返回None,或者可設置默認返回值。

當字典中不存在指定鍵時, setdefault(k,v) 添加一個指定鍵-值對;且返回指定鍵所關聯的值。

這三個方法返回值屬於一種名為 字典視圖 的特殊類型。字典視圖可用於迭代。另外,還可確定其長度以及對其執行成員資格檢查。

這三個方法自大的特點是不可變,當你的介面試圖對其他用戶提供一個只讀字典,而不希望他們修改的時候,這三個方法是很有用的;而且當原字典發生改變時,這些方法返回的對象也會跟著改變。

方法 pop 可用於獲取與指定鍵相關聯的值,並將該鍵-值對從字典中刪除。

popitem隨機刪除一個鍵-值對,並返回一個二維的元組 (key, value) ,因為字典是無序的,所以其彈出的順序也是不確定的。
書上說,這個方法在大數據量時執行效率很高,但沒有親測。

方法update 使用一個字典中的項來更新另一個字典。

② 利用Python進行數據分析筆記:3.1數據結構

元組是一種固定長度、不可變的Python對象序列。創建元組最簡單的辦法是用逗號分隔序列值:

tuple 函數將任意序列或迭代器轉換為元組:

中括弧 [] 可以獲取元組的元素, Python中序列索引從0開始

元組一旦創建,各個位置上的對象是無法被修改的,如果元組的一個對象是可變的,例如列表,你可以在它內部進行修改:

可以使用 + 號連接元組來生成更長的元組:

元組乘以整數,則會和列表一樣,生成含有多份拷貝的元組:

將元組型的表達式賦值給變數,Python會對等號右邊的值進行拆包:

拆包的一個常用場景就是遍歷元組或列表組成的序列:

*rest 用於在函數調用時獲取任意長度的位置參數列表:

count 用於計量某個數值在元組中出現的次數:

列表的長度可變,內容可以修改。可以使用 [] 或者 list 類型函數來定義列表:

append 方法將元素添加到列表尾部:

insert 方法可以將元素插入到指定列表位置:
插入位置范圍在0到列表長度之間

pop 是 insert 的反操作,將特定位置的元素移除並返回:

remove 方法會定位第一個符合要求的值並移除它:

in 關鍵字可以檢查一個值是否在列表中;
not in 表示不在:

+ 號可以連接兩個列表:

extend 方法可以向該列表添加多個元素:

使用 extend 將元素添加到已經存在的列表是更好的方式,比 + 快。

sort 方法可以對列表進行排序:

key 可以傳遞一個用於生成排序值的函數,例如通過字元串的長度進行排序:

bisect.bisect 找到元素應當被插入的位置,返回位置信息
bisect.insort 將元素插入到已排序列表的相應位置保持序列排序

bisect 模塊的函數並不會檢查列表是否已經排序,因此對未排序列表使用bisect不會報錯,但是可能導致不正確結果

切片符號可以對大多數序列類型選取子集,基本形式是 [start:stop]
起始位置start索引包含,結束位置stop索引不包含

切片還可以將序列賦值給變數:

start和stop可以省略,默認傳入起始位置或結束位置,負索引可以從序列尾部進行索引:

步進值 step 可以在第二個冒號後面使用, 意思是每隔多少個數取一個值:

對列表或元組進行翻轉時,一種很聰明的用法時向步進值傳值-1:

dict(字典)可能是Python內建數據結構中最重要的,它更為常用的名字是 哈希表 或者 關聯數組
字典是鍵值對集合,其中鍵和值都是Python對象。
{} 是創建字典的一種方式,字典中用逗號將鍵值對分隔:

你可以訪問、插入或設置字典中的元素,:

in 檢查字典是否含有一個鍵:

del 或 pop 方法刪除值, pop 方法會在刪除的同時返回被刪的值,並刪除鍵:

update 方法將兩個字典合並:
update方法改變了字典元素位置,對於字典中已經存在的鍵,如果傳給update方法的數據也含有相同的鍵,則它的值將會被覆蓋。

字典的值可以是任何Python對象,但鍵必須是不可變的對象,比如標量類型(整數、浮點數、字元串)或元組(且元組內對象也必須是不可變對象)。
通過 hash 函數可以檢查一個對象是否可以哈希化(即是否可以用作字典的鍵):

集合是一種無序且元素唯一的容器。

set 函數或者是用字面值集與大括弧,創建集合:

union 方法或 | 二元操作符獲得兩個集合的聯合即兩個集合中不同元素的並集:

intersection 方法或 & 操作符獲得交集即兩個集合中同時包含的元素:

常用的集合方法列表:

和字典類似,集合的元素必須是不可變的。如果想要包含列表型的元素,必須先轉換為元組:

③ python基礎-列表 元組 集合 字典區別和用法

Python中有六個標準的數據類型:Number(數字),String(字元串),List(列表),Tuple(元組),Set(集合),Dictionary(字典)。其中:Number(數字)、String(字元串)、Tuple(元組)是不可變數據,其餘三種是可變數據。

轉義字元

輸出結果

布爾值
布爾值是一個邏輯值,只有真(True)和假(False)

輸出結果

Python數據結構包括列表(list)、元組(tuple)、集合(set)、字典(dict)等,這里主要講解列表,列表有兩個特點:

輸出結果

修改表中元素

輸出結果

列表中插入元素

輸出結果

輸出列表中的元素

輸出結果

元素是否在列表元素中及統計個數

輸出結果

查找某個元素在列表中的位置

輸出結果

順序結構

輸出結果

if 條件 1

輸出結果

if 條件 2

輸出結果

循環結構

輸出結果

循環語句求和

輸出結果

可重復,類型可不同。 類型不同也是跟數組最本質的區別。 python里的列表用「[]」表示:

對比a和b的結果

列表的 --- 增 -- 刪 -- 改 -- 查

循環輸出列表內容,在結尾添加指定的內容

字元串是 Python 中最常用的數據類型。 我們可以使用引號('或")來創建字元串。

元組與列表相似,不一樣之處在於 元組的元素不能修改。
元組使用小括弧,列表使用方括弧。
元組建立很簡單,只須要在括弧中添加元素,並使用逗號隔開便可。

字典是另外一種可變容器模型,且可存儲任意類型對象。
字典的每一個鍵值(key=>value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括弧({})中 ,格式以下所示:
d = {key1 : value1, key2 : value2 }

字典函數

集合(set)是一個 無序的不重復元素序列。
可使用大括弧 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。
它的主要做用以下: 1.去重,把一個列表變成集合,就自動去重了 。2.關系測試,測試兩組數據以前的交集、差集、並集等關系。

關系測試

輸出結果

元素的添加和刪除

④ python字典

dict_english={'old':['老','舊']}
當一個單詞存在多個意思的時候你存起來的時候就搞個列表咯(漢字對英文一對多也一樣)
dict_english['old']===>['老','舊']至於你存儲的時候這裡面的優先順序或者順序就看你自己排咯

⑤ python 字典

⑥ Python其實很簡單 第十章 字典與集合

前面介紹的列表和元組都是有序序列,而字典與集合屬於無序序列,也就是說,不能通過索引來操作元素。

10.1 字典

語法格式:

dictionary= {key1 : value1, key2 : value2, key3 : value3 ,...., key n : value n }

其中,dictionary是字典名稱,key表示元素的鍵,value表示元素的值,鍵和值必須是成對的。

如:

>>> dict1 = { 'abc': 123, 98.6: 37 }

>>> dict1

{'abc': 123, 98.6: 37}

可以看出,鍵可以是字元串、數字或者元組,但必須是唯一的;而值可以是任何數據類型,也沒有要求是唯一的。

1、創建字典的方法

方法一:同時給定鍵和值,即「關鍵字參數」形式。

dictionary=dict(key1=value1,key2=value2,.....,key n=value n)

注意:這里的key 必須符合Python標識符的命名規則。

例:

先使用「{}」創建字典:

>>> dict1={1:'一',2:'二',3:'三',4:'四',5:'五'}

>>> dict1

{1: '一', 2: '二', 3: '三', 4: '四', 5: '五'}

再通過「關鍵字參數」形式創建:

>>> dict1=dict(1='一',2='二',3='三',4='四',5='五')

SyntaxError: expression cannot contain assignment, perhaps you meant "=="?

創建不成功,原因在於key 不符合Python標識符的命名規則。前面已經介紹過,標識符不能用數字表示或者用數字打頭。

現在對鍵如下修改:

>>> dict1=dict(n1='一',n2='二',n3='三',n4='四',n5='五') #在數字前加了一個字元」n」

>>> dict1

{'n1': '一', 'n2': '二', 'n3': '三', 'n4': '四', 'n5': '五'}

方法二 :使用已經存在的元組和列表通過映射函數創建字典。

格式:dictionary=dict(zip(tuplekey,listvalue))

例:

>>> tuplekey=('n1','n2','n3','n4','n5') #鍵的序列採用元組

>>> listvalue=['一','二','三','四','五'] #值的序列採用列表

>>> dict1=dict(zip(tuplekey,listvalue))

>>> dict1

{'n1': '一', 'n2': '二', 'n3': '三', 'n4': '四', 'n5': '五'}

注意:tuple(listname)函數可以將列表轉換為元組,list(tuplename)函數可以將元組轉換為列表。

2、通過鍵訪問字典

直接獲取鍵的相應元素的值

>>> dict1['n2']

'二'

利用get()方法

>>> dict1.get('n2')

'二'

get()方法也可以帶參數,當要訪問的鍵不存在時返回一個字元串。如:

>>> dict1.get('n0','can't find!') #當要查找的鍵不存在,返回'can't find!'

"can't find!"

3、遍歷字典

使用字典對象的items()方法可以獲取字典的「鍵.值對」列表。

>>> for item in dict1.items():

print(item)


('n1', '一')

('n2', '二')

('n3', '三')

('n4', '四')

('n5', '五')

也可以獲取具體的每個元素的鍵和值,如:

>>> for key,value in dict1.items():

print(key,'對應的是',value)


n1 對應的是 一

n2 對應的是 二

n3 對應的是 三

n4 對應的是 四

n5 對應的是 五

4、添加、修改和刪除字典元素

使用下面的語句,若指定的鍵存在,就可以修改該元素的值;若指定的鍵不存在,則添加該元素。如:

>>> dict1['n6']='六' # 鍵』n6』不存在,故添加該元素

>>> dict1

{'n1': '一', 'n2': '二', 'n3': '三', 'n4': '四', 'n5': '五', 'n6': '六'}

>>> dict1['n4']='肆' # 鍵』n4』存在,故修改該元素

>>> dict1

{'n1': '一', 'n2': '二', 'n3': '三', 'n4': '肆', 'n5': '五', 'n6': '六'}

5、利用推導式建立字典

import random

dict1={i:random.randint(1,100) for i in range(5)}

# 生成元素的鍵為0到5整數,值為1到100之間的隨機數

print(dict1)

運行結果:{0: 28, 1: 59, 2: 79, 3: 30, 4: 88}

10.2 集合

集合是數學中一個很重要的概念,集合具有確定性、互異性、無序性三個基本屬性。在Python中,集合同樣具有這三個基本屬性,其中,確定性是指對象要麼是集合的元素,要麼不是集合的元素;互異性是指集合中的元素不能重復;無序性是指集合中的元素不分先後次序,可以隨意更換位置。

1、集合的創建

直接使用「{}」創建

>>> set1={'春','夏','秋','冬'}

>>> set1

{'秋', '春', '冬', '夏'}

>>> set2={3,2,1,4,5}

>>> set2

{1, 2, 3, 4, 5}

利用已有的列表、元組創建集合

>>> list1=['東','南','西','北']

>>> set3=set(list1)

>>> set3

{'南', '東', '北', '西'}

利用已有的集合建立一個「副本」

>>> set3

{'南', '東', '北', '西'} #set3和set4的值一樣

>>> set4=set3

>>> set4

{'南', '東', '北', '西'}

>>> set4.add('中') #給set4添加元素

>>> set4

{'西', '中', '東', '南', '北'} # 這個好理解

>>> set3

{'西', '中', '東', '南', '北'} # 意想不到吧?Set3為什麼會發生變化?

再看看簡單變數的情況:

>>> a=2

>>> b=a #是不是與前面set4=set3相似

>>> b+=1

>>> b

3

>>> a

2 #但a的值並沒有發生改變

從上面集合set3、set4和簡單變數a、b的值的變化情況對比,不難發現set3和set4是指向同一地址的對象,而變數a和變數b指向了不同地址,語句b=a是將a的值傳遞個b,並不是將a的地址傳遞給b。列表、元組、字典都和集合一樣具有這樣的性質。

所以,將set4稱為set3的「副本」更為恰當。

2、添加和刪除元素

>>> set3

{'南', '東', '北', '西'}

>>> set3.add('中') # 添加元素

>>> set3

{'西', '中', '東', '南', '北'} # 集合內的元素是無序的,不要糾結次序的變化

>>> set3.remove('中') # 刪除元素

>>> set3

{'西', '東', '南', '北'}

3、集合運算

集合運算包括交(&)、並(|)、差(-),和數學中的集合運算是一致的。

>>> set3={'南', '東', '北', '西'}

>>> set4={'西', '中', '東', '南', '北'}

>>> set3 & set4 #取set3和set4的交集

{'西', '南', '北', '東'}

>>> set3 | set4 #取set3和set4的並集

{'中', '南', '北', '西', '東'}

>>> set3 - set4 #取set3與set4的差,即set3比set4多出來的元素

set()

>>> set4 -set3 #取set4與set3的差,即set4比set3多出來的元素

{'中'}

⑦ Python學習筆記:如何將字典快速插入資料庫

在我們工作中,手頭不一定都有VISIO等資料庫設計軟體,往往是我們直接在SQL企業管理器中直接設計資料庫,再添加資料庫字典,以方便以後的工作及管理。有時我很苦惱,因為我們不得不打兩次相現的數據欄位的說明,麻煩。不過,也不盡然,不久前我發現了一個更好的方法:(以我建一個表為例) 1、打開企業管理器。 2、在關系中「右擊」,「新建關系」,在讓你選擇表時選擇取消。 3、在關系在,「右鍵」,選「新建表」,輸入我們想要的名字。(方法是不是和傳統不一樣了) 4、在我們剛新建的表上「右擊」,然後「表視圖」,「修改自定義」。 5、在彈出的對話框中選擇我們想要的列。 6、確定就OK了。 7、當然是輸入我們腦子里的數據表結構及說明,當我們要生成這個數據表的字典的時候,就選中這些列,CTRL+C,然後到Excel在CTRL+V,如果想到導出WORD中,再在Excel中選中想要的單元格,CTRL+C到WORD中CTRL+V 8、當然是OK了!看一下我們的成果吧!

⑧ python自學筆記13:元組和字典的操作

定義元組(tuple):

t1=(1,2,3,4)#多個數據元組

t2=(1,)#如果元組內只有一個數據,也需要手逗號隔開,否則這個數據將是他本身的類型。

元組的操作:

元組類型數據不支持修改,可查找

查找:

按下標查找:

print(t1[1])

函數查找:

print(t1.index(1))返回對應下標,如果數據不存在,程序將報錯

print(t1.count(1))統計數據在元組當中出現的次數

print(len(t1))統計元組當中的數據個數

注意:當元組內嵌套列表數據,可以通過下標的方法對列表數據進行修改如:

t3=(1,2,["a","b"])

t3[2][0]=c #t3的值將變為(1,2,["c","b"])

——————————————————

——————————————————

定義字典(dict)

字典的特點

1:符號為{}

2:數據為鍵(key)值(value)對形式,每個鍵值對之間用逗號隔開如:

dict1={"name":"小明","age":18,"gender:男"}

字典的操作:

dict1["name"]="小紅"

dict1["id"]=3

如果key存在,將修改其所對應的值。如果不存在,將在字典最後添加該鍵值對

2.刪除數據

del():刪除字典或刪除字典內的鍵值對

del dict1["name"] 刪除字典內的鍵值對,如果刪除的key不存在,程序將會報錯

del(del)刪除字典

clear(dict1) 清空字典

3.查找數據

一.按照key進行查找,最後返回相對應的值

二.按函數進行查找:

(1) get(key,默認值):

如果查找的key不存在則返回所寫的默認值,如果不寫默認值則返回None

dict1={"name":"小明","age":18,"gender:男"}

print(dict1.get("name")) #小明

print(dict1.get("id",110)) # 110

——————————————————

(2) keys():返回字典內的所有key 可用for遍歷

print(dict1.keys())

返回 ["name","age","gender"]

for key in dict1.keys():

..print(key)

逐行輸出name age gender

——————————————————

(3) values(): 返回字典內的值 可用for遍歷

print(dict1.values())

返回["小明",18,"男"]

for value dict1.values():

..print(value)

逐行輸出小明 18 男

——————————————————

(4) items():將字典內的數據以元組的形式返回

print(dict1.items()) 可用for遍歷

返回[("name","小明"),("age",18),("gender","男")]

for item in dict1.items():

..print(item)

逐行輸出 ("name","小明") ("age",18)("gender","男")

——————————————————

遍歷字典鍵值對(拆包) 可在for內使用兩個臨時變數

dict1={"name":"小明","age":18,"gender:男"}

for key,value in dict1.items():

..print(f"{key}=value")

逐行輸出:

name=小明 age=18 gender=男

⑨ Python字典中幾個常用函數總結

1、get() 返回指定鍵的值,如果值不在字典中返回default值。
語法:dict.get(key,default=None)
參數:
key 字典中要查找的鍵。
default 如果指定鍵的值不存在時,返回該默認值值。
例:
dict={'Name':'alex','Age':21}
print("Name is:%s"% dict.get('Name')+"\n"+ "Age is:%d"% dict.get('Age'))
顯示結果為:
Name is:alex
Age is:21

2、update() 將一個字典中的值更新到另一個字典中。
語法:dict.update(dict2)
參數:
dict2 添加到指定字典dict里的字典。
例:
dict={'Name':'alex','Age':21}
dict2={'Sex':'female'}
dict.update(dict2)
print("Value is %s" % dict)
顯示結果為:
Value is {'Name': 'alex', 'Age': 21, 'Sex': 'female'}

閱讀全文

與python學習筆記十大字典相關的資料

熱點內容
android平滑滾動效果 瀏覽:841
什麼是編譯器指令 瀏覽:219
微控制器邏輯命令使用什麼匯流排 瀏覽:885
程序員在學校里是學什麼的 瀏覽:601
oraclejava數據類型 瀏覽:890
程序員考注冊會計師 瀏覽:957
怎麼使用access的命令按鈕 瀏覽:899
有點錢app在哪裡下載 瀏覽:832
博途v15解壓後無法安裝 瀏覽:205
什麼是根伺服器主機 瀏覽:438
安卓手游怎麼申請退款 瀏覽:555
安卓系統如何分享網頁 瀏覽:278
ad如何編譯pcb工程 瀏覽:414
除了滴滴app哪裡還能用滴滴 瀏覽:399
截圖怎麼保存文件夾然後壓縮 瀏覽:8
幻影伺服器怎麼樣 瀏覽:28
具體哪些廣東公司招程序員 瀏覽:871
嵌入式編譯器教程 瀏覽:307
ssl數據加密傳輸 瀏覽:87
51單片機定時器方式2 瀏覽:332