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