溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中如何創(chuàng)建和使用字典

發(fā)布時(shí)間:2021-11-23 10:37:34 來源:億速云 閱讀:160 作者:小新 欄目:大數(shù)據(jù)

小編給大家分享一下python中如何創(chuàng)建和使用字典,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

第一課 創(chuàng)建和使用字典

# 創(chuàng)建和使用字典

# 我們以前講過2種序列:1列表 2元組
# 共同點(diǎn):都是通過索引引用元素值
# 不同點(diǎn):列表是可讀寫的,元組是只讀的

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)換為字典     // 通俗的理解為: 可以把列表和元組 通過 dict函數(shù) 轉(zhuǎn)化為字典類型  

# 使用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ì).
'''

看完了這篇文章,相信你對(duì)“python中如何創(chuàng)建和使用字典”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI