python 字典

字典

字典key:value 鍵值對 (無序)
字典是另一種可變容器模型,且可存儲任意類型對象
鍵是唯一的 值不必
鍵必須是不可變的 如:字符串 數字 元組

字典創建

info = {'name':'班長', 'id':100, 'sex':'f', 'address':'中國'}
print(info['name'])
print(info['address'])

注:列表使用[],元組使用(),字典使用{}.

通過get方式獲取不存在的鍵值,不然會報錯

>>> age = info.get('age')
>>> age #'age'鍵不存在,所以age爲None
>>> type(age)
<type 'NoneType'>
>>> age = info.get('age', 18) # 若info中不存在'age'這個鍵,就返回默認值18
>>> age

使用[]添加或修改元素

dict = {'Name': 'guojiaxu', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8;               # 更新 Age
dict['School'] = "nylg"        # 添加信息

print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

刪除字典元素

del dict['Name'] # 刪除鍵 'Name'
dict.clear()     # 刪除字典
del dict         # 刪除字典

字典是支持無限極嵌套的,如下面代碼:

citys={
'北京':{
    '朝陽':['國貿','CBD','天階','我愛我家','鏈接地產'],
    '海淀':['圓明園','蘇州街','中關村','北京大學'],
    '昌平':['沙河','南口','小湯山',],
    '懷柔':['桃花','梅花','大山'],
    '密雲':['密雲A','密雲B','密雲C']
},
'河北':{
    '石家莊':['石家莊A','石家莊B','石家莊C','石家莊D','石家莊E'],
    '張家口':['張家口A','張家口B','張家口C'],
    '承德':['承德A','承德B','承德C','承德D']
 }
}

for i in citys['北京']:
    print(i)
輸出結果:
        懷柔
        密雲
        昌平
        海淀
        朝陽

for i in citys['北京']['海淀']:
    print(i)
輸出如下結果:
        圓明園
        蘇州街
        中關村
        北京大學

字典遍歷

使用keys()獲取所有鍵

dict = {'name':'guo','sex':'boy'}
for key in dict.key():
    print(key)

>>name
>>sex

使用values()獲取所有值

dict = {'name':'guo','sex':'boy'}
    for value in dict.values():
        print(value)

>>guo
>>boy

使用items()獲取所有鍵值對

dict = {'name':'guo','sex':'boy'}
for item in dict.items():
    print(item)

>>('name','guo')
>>('sex','boy')

遍歷字典的key-value(鍵值對)

dict = {'name':'guo','sex':'boy'}
    for key,value in dict.items():
        print('key=%s,value=%s'%(key,value))

>>key=name,value=guo
>>key=sex,value=boy

字典操作

使用update()合併字典、會覆蓋原有的值。

def mydict01():
    a = {"name":"aaa", "age":20}
    b = {"id":20, "name":"bbb"}
a.update(b)
print(a)

使用del刪除具有指定鍵的元素

def mydict01():
    a = {"name":"aaa", "age":20}
    b = {"id":20, "name":"bbb"}

    # del刪除某個刪除
    del b["id"]

使用clear清除所有元素

def mydict02():
    # 1. 清空字典方式
    a = {"name":"aaaa"}
    a = {}
    # 2. clear
    a.clear()

使用in判斷是否存在(判斷的是字典的鍵)

def mydict03():
    a = {"name": "aaa", "age": 20}
    # keys獲得字典中所有鍵的列表
    print( list(a.keys()) )
    # values獲得字典中所有的值的列表
    print(list(a.values()))
    # items返回值和鍵的列表
    print( list(a.items()) )
    for k, v in a.items():
        print("%s:%s" %(k, v))


    if "name" not in a.keys():
        print("不存在!")
    else:
        print("存在!")

python內置函數

len(item)   計算容器中元素個數
max(item)   返回容器中元素最大值
min(item)   返回容器中元素最小值
del(item)   刪除變量
發佈了36 篇原創文章 · 獲贊 10 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章