1. 程式人生 > >python語言中的數據類型之字典

python語言中的數據類型之字典

style 數據類型 container for key存在 -i 需要 cti www.

數據類型

字典類型dict
  • 用途:記錄多個值,列表是索引對應值,而字典是key對應值,其中key對value有描述性

  • 定義方式:在{ }用逗號分隔開多個元素,每個元素都是key:value形式,其中key是不可變類型,通常是字符串類型,而value是任意類型。

  • 類型轉換:

    d=dict(x=1,y=2,z=3)
    print(d)
    print(type(d))
    #第一種類型轉換
    items=[(name,egon),(age,18),(gender,male)]
    d={}
    for item in items:
        d[item[0]]=item[1]
    print
    (d) #列表轉換成字典 第二種 items=[(name,egon),(age,18),(gender,male)] d=dict(items) print(d) #第三種方法 ? ? # 了解 keys=[name,age,gender,height,weight] # d={} # for key in keys: # d[key]=None ? d={}.fromkeys(keys,None) print(d,type(d))

常用操作+內置方法

1.按key存取值:可存可取

dic={name:egon,age
:18} print(dic[name]) #這是按key 取 value值 如果key錯誤程序會報錯 dic[name]=EGON print(dic) #按key存值 根據key存入‘EGON‘ (value) dic[gender]=male print(dic) #如果存入的key在字典中沒有就會添加新的key:value ? ###在列表中如果索引沒有添加的話會報錯 l=[a,b,c] l[0]=A print(l) l[4]=AAA print(l)

2.長度 len

dic={name:egon,age:18}
print
(dic) print(len(dic))

3.成員運算 in 和 not in

字典的成員運算是以字典的key為準的,如果找不到key則會顯示False

dic={name:egon,age:18}
print(namein dic)    #  True
print(egonin dic)    #  False

4.刪除 del/pop/

dic={name:egon,age:18}
del dic[name]
print(dic)
#del  的運用
?
dic={name:egon,age:18}
res=dic.pop(name)
print(dic)
print(res)
#pop  pop的返回值是與之對應的value值
?
ic={name:egon,age:18}
res=dic.popitem()
print(res)
print(type(res))
print(dic)
(age, 18)
<class tuple>
{name: egon}
#popitem()  刪除字典中的元組

5.鍵keys( ),值values(),鍵值對items()

在python2中對應的鍵keys(),values(),items()

#在python2中keys(),values(),items()會將全部對應值輸出
>>> dic={name:egon,age:18}
>>> dic.keys()
[age, name]
>>> dic.values()
[18, egon]
>>> dic.items()
[(age, 18), (name, egon)]
>>>
?
#在python3中
>>> dic={name:egon,age:18}
>>> dic.keys()
dict_keys([name, age])
>>> dic.values()
dict_values([egon, 18])
>>> dic.items()
dict_items([(name, egon), (age, 18)])

6.循環

dic={name:egon,age:18}
for k in dic:
    print(k)
#在字典中不加任何操作循環是循環key
dic={name:egon,age:18}
for k in dic.keys():    #循環keys
    print(k)
for v in dic.values():  #循環values
    print(v)
for k,v in dic.items(): #k,v=(‘name‘, ‘egon‘)
    print(k,v)          #循環key:value

需要掌握的操作

7.update 更新

dic={name:egon,age:18}
dic.update({height:175,weight:180})
print(dic)
{name: egon, age: 18, height: 175, weight: 180}
#語法    字典1.update(字典2)
#會將兩個字典中相同的key:value保留,不同的添加到字典1
dic={name:egon,age:18}

8.setdefault

Python 字典 setdefault() 函數和get() 方法類似, 如果鍵不存在於字典中,將會添加鍵並將值設為默認值

#當key存在時,不改原值,返回原值
dic={name:egon,age:18}
res=dic.setdefault(name,EGON)
print(dic)
print(res)
{name: egon, age: 18}
egon
?
#當key不存在時,增加新值
dic={name:egon,age:18}
res=dic.setdefault(gender,male)
print(dic)
print(res)
{name: egon, age: 18, gender: male}
male

###字典無序 可變

python語言中的數據類型之字典