您好,登錄后才能下訂單哦!
Python是一種跨平臺的計算機(jī)程序設(shè)計語言。 是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨立的、大型項目的開發(fā)。
字典是另一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο蟆?/p>
字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中
Python字典包含了以下內(nèi)置方法:
序號 | 函數(shù)及描述 |
---|---|
1 | dict.clear() 刪除字典內(nèi)所有元素 |
2 | dict.copy() 返回一個字典的淺復(fù)制 |
3 | dict.fromkeys(seq[, val]) 創(chuàng)建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應(yīng)的初始值 |
4 | dict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回default值 |
5 | dict.has_key(key) 如果鍵在字典dict里返回true,否則返回false |
6 | dict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組 |
7 | dict.keys() 以列表返回一個字典所有的鍵 |
8 | dict.setdefault(key, default=None) 和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設(shè)為default |
9 | dict.update(dict2) 把字典dict2的鍵/值對更新到dict里 |
10 | dict.values() 以列表返回字典中的所有值 |
11 | pop(key[,default]) 刪除字典給定鍵 key 所對應(yīng)的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。 |
12 | popitem() 返回并刪除字典中的最后一對鍵和值。 |
# 創(chuàng)建和使用字典
names = ["Bill", "Mike", "John", "Mary"]
numbers = ["1234", "4321", "6789", "6543"]
print(numbers[names.index("Mike")]) #4321 通過names中的Mike的索引 位置 來查找他的電話號碼 numbers中的列表
print(names[numbers.index("6543")]) # Mary
# 多個關(guān)聯(lián)的數(shù)據(jù)分散到不同的 列表或者元組中,不太好維護(hù) 引入 字典
# 字典是一對 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)換為字典
# 第一個是列表 第二個元素為元組
# 首先定義一個列表,列表中有多個元數(shù),里面的元素可以為多個值,可以為列表也可以為元組
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}
# 需要先定義一個空的列表 然后 把輸入的 input 追加起來,再通過dict函數(shù)進(jìn)行轉(zhuǎn)化 成字典
items = []
while True:
key = input("請輸入Key:")
if key == ":exit":
break;
value = input("請輸入value:")
keyValue = [key,value]
items.append(keyValue) # 追加
d = dict(items)
print(d)
'''
請輸入Key:majihui
請輸入value:12345
請輸入Key:zhaoshun
請輸入value:33333
請輸入Key:local
請輸入value:china
請輸入Key::exit
{'majihui': '12345', 'zhaoshun': '33333', 'local': 'china'}
'''
-------------------------------------
# 字典的基本操作
# 通過len函數(shù)獲取字典的長度
items = [1,2,3,4,5] # 這是一個列表
print(len(items)) # 5 輸出列表的長度
d = {"name":"Bill", "age":43} # 這是一個字典
print(len(d)) # 2 輸出字典的長度
# 通過key獲取和設(shè)置或修改字典中的值
print(d["name"]) # Bill 獲取字典中的值
d["name"] = "Mary" # 修改字典中的value的值 把原來名字為 Bill改成 Mary
print(d) # {'name': 'Mary', 'age': 43}
#print(items[10]) # 當(dāng)輸出的索引超出了列表 就會報錯 異常
d["salary"] = 5432 # 在原來字典的基礎(chǔ)上追加一個
print(d) # {'name': 'Mary', 'age': 43, 'salary': 5432}
# 判斷字段是否在列表中
print(1 in items) # True
print(10 in items) # False
#對于字典來說,他是直接找key是否在字典中存儲,他不會找value
print("name" in d) # True
print("location" in d) # False
'''
列表和字典不同點小結(jié):
1. key的類型,列表只能是數(shù)字(索引),字典的key可以是多種類型,如字符串、元組
2. 自動添加,引用列表元素,索引必須在范圍內(nèi),否則拋出異常,字典的key如果不存在,會自動添加一個key-value對
3. 查找成員,列表使用in,直接查找值,字典使用in,查找key
查找效率,字典要高于列表和元組
'''
IDEs = {
'eclipse':
{
'languages':['Java','Python','JavaScript','PHP'],
'organization':'Eclipse基金會'
},
'visualstudio':
{
'languages':['C#','C++', 'VB.NET'],
'organization':'微軟'
},
'webstorm':
{
'languages':['JavaScript'],
'organization':'JetBrains'
}
}
labels = {
'languages':'支持的編程語言',
'organization':'所屬機(jī)構(gòu)'
}
IDE = input('請輸入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]))
'''
請輸入IDE的名字eclipse
要查詢的IDE支持的編程語言(lang)還是所屬及機(jī)構(gòu)(org)?lang
eclipse 支持的編程語言是['Java', 'Python', 'JavaScript', 'PHP'].
請輸入IDE的名字WEBstorm
要查詢的IDE支持的編程語言(lang)還是所屬及機(jī)構(gòu)(org)?org
WEBstorm 所屬機(jī)構(gòu)是JetBrains.
請輸入IDE的名字eclipse //輸入的這個空面有空格
要查詢的IDE支持的編程語言(lang)還是所屬及機(jī)構(gòu)(org)?org
eclipse 所屬機(jī)構(gòu)是Eclipse基金會.
'''
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。