導航:首頁 > 編程語言 > python連接字典

python連接字典

發布時間:2023-08-30 23:11:30

1. 在python中怎麼把列表中的元素添加到字典中

1、首先打開python的編輯器。

2. 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多出來的元素

{'中'}

3. python的嵌套字典問題

列印一下id內存地址

第一次循環賦值 new_alien 就是已經鎖定了id內存地址,下面2次循環都是對內存地址上的賦值

閱讀全文

與python連接字典相關的資料

熱點內容
和平精英如何切換蘋果到安卓 瀏覽:530
資料庫調用表單的命令 瀏覽:920
程序員技能大賽 瀏覽:9
什麼app買品牌衣服 瀏覽:13
手機看世界名著哪個app好 瀏覽:493
運行命令切換列印機用戶 瀏覽:919
android滑動button 瀏覽:939
伺服器日誌可以干什麼 瀏覽:644
安卓系統空間怎麼清理軟體 瀏覽:343
維也納pdf 瀏覽:641
加密貨幣交易所哪個最好 瀏覽:816
linux的現狀 瀏覽:926
命令與征服叛逆者修改器 瀏覽:246
怎麼用ios玩安卓全民槍戰 瀏覽:668
程序員入行前後的頭發 瀏覽:711
嵌入式圖像演算法 瀏覽:329
伺服器如何訪問伺服器失敗 瀏覽:875
android進度球 瀏覽:1001
Linux造成xfs文件夾 瀏覽:457
華為手機怎麼修改wifi加密類型 瀏覽:250