python基础-字典

python中操作字典,字典可变

访问,取值

dict1 = {'Name':'xm','Age':18,'Class':'First'}

print("dict1['Name']:",dict1['Name'])
print("dict1['Age']:",dict1['Age'])
print("名字为:",dict1.get("Name"))

修改字典

dict1 = {'Name':'xm','Age':'26','Class':'First'}

dict1['Age']=8
print(dict1)

增加字典

dict1 = {'Name':'xm','Age':'26','Class':'First'}

dict1['School'] = "家里蹲大学"
print(dict1)

删除字典中的元素

dict1 = {'Name':'xm','Age':'26','Class':'First'}

del dict1['Name']  #删除键是'Name'的数据

print(dict1)

清空和删除字典

dict1 = {'Name':'xm','Age':'26','Class':'First'}

dict1.clear()  #清空字典,字典还存在

print(dict1)

del dict1  #删除字典,字典不存在,输出会报错

字典的其它要点:

1.键不允许相同,如果相同,后面的会覆盖前面的

2.键是不可变的,所以只能用数字,字符串,元组来担当

dict1 = {(1,2):"元组",1:10}
print(dict1)
print(dict1[(1,2)])
print(dict1[1])

返回所有的键和值

dict.keys()  以列表的形式返回一个字典中所有的键

dict.values()  以列表的形式返回一个字典中所有值

dict1 = {'Name':'xm','Age':'26','Class':'First'}
print(dict1.keys())
print(type(dict1.keys())) #判断类型,返回的是列表
for x in dict1.keys():  #取出所有的键  
    print("keys为",x)
for x in dict1.values(): #取出所有值
    print("values为",x)

结果:

dict_keys(['Name', 'Age', 'Class'])
<class 'dict_keys'>

keys为 Name
keys为 Age
keys为 Class
values为 xm
values为 26
values为 First

 

字典的内置函数/方法

  内置函数

    1.len(dict)  计算字典元素个数,即键的总数

      2.str(dict)  输出字典可打印的字符串表示

      3.type(variable)  返回输入的变量类型,如果变量是字典就返回字典类型

    内置方法

    1.dict.clear  删除字典内所有元素

      2.dict.copy  返回一个字典的浅复制

dict1={'1':1,'2':2}
theCopy=dict1.copy()
print(dict1)
dict1['1']=5
sum=dict1['1']+theCopy['1']
print(sum)

结果:

{'1': 1, '2': 2}
6

      3.dict.fromkeys(seq[,val])  创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

      4.dict.get(key,default=None)  返回指定键的值,如果值不在字典中返回default值

      5.dict.has_key(key)  如果键在字典dict里返回true,否则返回false

      6.dict.items()  以列表返回可遍历的(键,值)元组数组

      7.dcit.keys()  以列表返回一个字典所有的键

      8.dict.values()  以列表返回一个字典所有制

      9.dict.setdefault(key,default=None)  和get()类似,但如果键不存在于字典中,将会添加键并将值设为default

      10.dict.update(dict2)  把字典dict2的键/值更新到dict里

        

dict1 = {3:"c", 4:"d"}
dict2 = {1:"a", 2:"b"}
dict3 = dict1.update(dict2)#只是覆盖了dict1
print(dict1)
print(dict3) #输出的是None,合并的并没有产生新的字典,覆盖了原来的dict1

结果:

{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
None

  

原文地址:https://www.cnblogs.com/R-bear/p/6965569.html