Python如何創(chuàng)建和使用字典-創(chuàng)新互聯(lián)

Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語言。 是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言。最初被設(shè)計(jì)用于編寫自動(dòng)化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。

創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,先為芒康等服務(wù)建站,芒康等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為芒康企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

字典是另一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象。

字典的每個(gè)鍵值 key=>value 對(duì)用冒號(hào) : 分割,每個(gè)鍵值對(duì)之間用逗號(hào) , 分割,整個(gè)字典包括在花括號(hào) {} 中

Python字典包含了以下內(nèi)置方法:

序號(hào)函數(shù)及描述
1dict.clear()
刪除字典內(nèi)所有元素
2dict.copy()
返回一個(gè)字典的淺復(fù)制
3dict.fromkeys(seq[, val])
創(chuàng)建一個(gè)新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對(duì)應(yīng)的初始值
4dict.get(key, default=None)
返回指定鍵的值,如果值不在字典中返回default值
5dict.has_key(key)
如果鍵在字典dict里返回true,否則返回false
6dict.items()
以列表返回可遍歷的(鍵, 值) 元組數(shù)組
7dict.keys()
以列表返回一個(gè)字典所有的鍵
8dict.setdefault(key, default=None)
和get()類似, 但如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為default
9dict.update(dict2)
把字典dict2的鍵/值對(duì)更新到dict里
10dict.values()
以列表返回字典中的所有值
11pop(key[,default])
刪除字典給定鍵 key 所對(duì)應(yīng)的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。
12popitem()
返回并刪除字典中的最后一對(duì)鍵和值。
# 創(chuàng)建和使用字典

names = ["Bill", "Mike", "John", "Mary"]

numbers = ["1234", "4321", "6789", "6543"]

print(numbers[names.index("Mike")])  #4321    通過names中的Mike的索引 位置 來查找他的電話號(hào)碼 numbers中的列表
print(names[numbers.index("6543")])   # Mary

# 多個(gè)關(guān)聯(lián)的數(shù)據(jù)分散到不同的 列表或者元組中,不太好維護(hù) 引入 字典 
# 字典是一對(duì) key和value {}  中間用: 表示
phoneBook = {"Bill":"1234","Mike":"4321","John":"6645","Mary":"7753"}
print(phoneBook)       #  {"Bill":"1234","Mike":"4321","John":"6645","Mary":"7753"}
print(phoneBook["Mike"])   #  4321
----------------------------------------------- 

# 使用dict函數(shù)將序列轉(zhuǎn)換為字典
# 第一個(gè)是列表 第二個(gè)元素為元組   
# 首先定義一個(gè)列表,列表中有多個(gè)元數(shù),里面的元素可以為多個(gè)值,可以為列表也可以為元組 
items = [['Bill',"4321"],("Mike","7891"),['John','4567']]
d = dict(items)
print(d)     # {'Bill': '4321', 'Mike': '7891', 'John': '4567'}
'''
也可以直接寫成這樣 
items = [['Bill',"4321"],("Mike","7891"),['John','4567']]
#d = dict(items)
print(dict(items))
'''

dict1 = dict(name="Bill", number=6543, age=34)  # 這是把元組轉(zhuǎn)化為字典
print(dict1)  # {'name': 'Bill', 'number': 6543, 'age': 34}

# 需要先定義一個(gè)空的列表 然后 把輸入的 input 追加起來,再通過dict函數(shù)進(jìn)行轉(zhuǎn)化  成字典 
items = []
while True:
   key = input("請(qǐng)輸入Key:")
   if key == ":exit":
     break;
   value = input("請(qǐng)輸入value:")
   keyValue = [key,value]
   items.append(keyValue)  # 追加
d = dict(items)
print(d)

'''
請(qǐng)輸入Key:majihui
請(qǐng)輸入value:12345
請(qǐng)輸入Key:zhaoshun
請(qǐng)輸入value:33333
請(qǐng)輸入Key:local
請(qǐng)輸入value:china
請(qǐng)輸入Key::exit
{'majihui': '12345', 'zhaoshun': '33333', 'local': 'china'}
'''

-------------------------------------

# 字典的基本操作
# 通過len函數(shù)獲取字典的長(zhǎng)度
items = [1,2,3,4,5]    # 這是一個(gè)列表
print(len(items))     # 5 輸出列表的長(zhǎng)度
d = {"name":"Bill", "age":43}  # 這是一個(gè)字典
print(len(d))       # 2   輸出字典的長(zhǎng)度

# 通過key獲取和設(shè)置或修改字典中的值 
print(d["name"])       # Bill 獲取字典中的值 
d["name"] = "Mary"      # 修改字典中的value的值 把原來名字為 Bill改成 Mary
print(d)           # {'name': 'Mary', 'age': 43} 

#print(items[10])      # 當(dāng)輸出的索引超出了列表 就會(huì)報(bào)錯(cuò) 異常
d["salary"] = 5432      # 在原來字典的基礎(chǔ)上追加一個(gè) 
print(d)           # {'name': 'Mary', 'age': 43, 'salary': 5432}

# 判斷字段是否在列表中
print(1 in items)      # True
print(10 in items)      # False

#對(duì)于字典來說,他是直接找key是否在字典中存儲(chǔ),他不會(huì)找value
print("name" in d)      # True
print("location" in d)    # False

'''
列表和字典不同點(diǎn)小結(jié):
1. key的類型,列表只能是數(shù)字(索引),字典的key可以是多種類型,如字符串、元組
2. 自動(dòng)添加,引用列表元素,索引必須在范圍內(nèi),否則拋出異常,字典的key如果不存在,會(huì)自動(dòng)添加一個(gè)key-value對(duì)
3. 查找成員,列表使用in,直接查找值,字典使用in,查找key
查找效率,字典要高于列表和元組
'''

IDEs = {
   'eclipse':
   {
     'languages':['Java','Python','JavaScript','PHP'],
     'organization':'Eclipse基金會(huì)'
   },
   'visualstudio':
   {
     'languages':['C#','C++', 'VB.NET'],
     'organization':'微軟'
   },
   'webstorm':
   {
     'languages':['JavaScript'],
     'organization':'JetBrains'
   }   

}
labels = {
   'languages':'支持的編程語言',
   'organization':'所屬機(jī)構(gòu)'
   }
IDE = input('請(qǐng)輸入IDE的名字')
findIDE = IDE.replace(' ', '').lower() # 把輸入的空格轉(zhuǎn)化為空 并且 把輸入的值轉(zhuǎn)化為小寫  

choice = input('要查詢的IDE支持的編程語言(lang)還是所屬及機(jī)構(gòu)(org)?') 
if choice == 'lang': key = 'languages'
if choice == 'org': key = 'organization' 

if findIDE in IDEs:
   print("{} {}是{}.".format(IDE, labels[key],IDEs[findIDE][key]))

'''
請(qǐng)輸入IDE的名字eclipse
要查詢的IDE支持的編程語言(lang)還是所屬及機(jī)構(gòu)(org)?lang
eclipse 支持的編程語言是['Java', 'Python', 'JavaScript', 'PHP'].

請(qǐng)輸入IDE的名字WEBstorm
要查詢的IDE支持的編程語言(lang)還是所屬及機(jī)構(gòu)(org)?org
WEBstorm 所屬機(jī)構(gòu)是JetBrains.

請(qǐng)輸入IDE的名字eclipse    //輸入的這個(gè)空面有空格
要查詢的IDE支持的編程語言(lang)還是所屬及機(jī)構(gòu)(org)?org
eclipse  所屬機(jī)構(gòu)是Eclipse基金會(huì).
'''

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁名稱:Python如何創(chuàng)建和使用字典-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://bm7419.com/article20/cdepjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、小程序開發(fā)、動(dòng)態(tài)網(wǎng)站網(wǎng)站改版、手機(jī)網(wǎng)站建設(shè)商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化