目录
3.5 用items()函数返回字典中所有的键值对,其元素为由键值对构成的元组
1.字典键值的创建
1.1 直接赋值
dict1={"hello":1,"nihao":2}
print(dict1) #{'hello': 1, 'nihao': 2}
1.2 dict函数结合关键字参数
dict1=dict("hello"=1,"nihao"=2)
print(dict1) #{'hello': 1, 'nihao': 2}
1.3 将序列中的元组转化为键值对再转化为字典
这里的序列可以为列表和元组
dict1=dict([('name','xiaoming'),('age',20)])
print(dict1) #{'name': 'xiaoming', 'age': 20}
1.4 利用zip函数将两个序列构成字典
a=['n','i']
b='jk'
c=zip(a,b)
print(dict(c)) #{'n': 'j', 'i': 'k'}
1.5 fromkeys
fromkeys可以给键赋予多个相同的值
b=['a','b','c']
a=dict.fromkeys(b,10)
print(a) #{'a': 10, 'b': 10, 'c': 10}
当然,若没有只有一个键参数,则对应值默认为None
b=['a','b','c']
a=dict.fromkeys(b)
print(a) #{'a': None, 'b': None, 'c': None}
1.6 通过索引的方式添加字典元素
a={'name': 'xiaoming', 'age': 20,'money':5000}
a['friend']='xiaoxiao'
print(a) #{'name': 'xiaoming', 'age': 20, 'money': 5000, 'friend': 'xiaoxiao'}
若键已存在,则会更新对应的值
a={'name': 'xiaoming', 'age': 20,'money':5000}
a['name']='xiaoxiao'
print(a) #{'name': 'xiaoxiao', 'age': 20, 'money': 5000}
1.7 update
a.update(b)可以将b中的键值全部添加到a中去,若a和b存在相同的键,则将b中的值更新到a中
a={'name': 'xiaoming', 'age': 20,'money':5000}
b={'1':3,'a':'b','d':'e','age':19}
a.update(b)
print(a)
#{'name': 'xiaoming', 'age': 19, 'money': 5000, '1': 3, 'a': 'b', 'd': 'e'}
2.字典的删除
2.1 clear
clear会清空字典中全部元素
a={'name': 'xiaoming', 'age': 20}
a.clear()
print(a) #{}
2.2 pop
pop()函数会删除对应键的值并返回该键值
a={'name': 'xiaoming', 'age': 20,'money':5000}
b=a.pop('money')
print(b) #5000
print(a) #{'name': 'xiaoming', 'age': 20}
2.3 popitem
popitem直接随机删除一个键值对,并以元组的形式返回
a={'name': 'xiaoming', 'age': 20,'money':5000}
b=a.popitem()
print(b) #('money', 5000)
print(a) #{'name': 'xiaoming', 'age': 20}
3.字典的访问
3.1 以键为索引访问
a={'name': 'xiaoming', 'age': 20,'money':5000}
print(a['name']) #xiaoming
当然,若访问不存在的键时,会直接出现KeyError异常
3.2 用get函数访问
get和直接访问最本质的区别为当访问不存在的键时,get可以人为设置返回值
a={'name': 'xiaoming', 'age': 20,'money':5000}
b=a.get('na',9) #返回值默认为None,这里设置为9
print(b) #9
3.3 用keys()返回字典中所有键的对象
a={'name': 'xiaoming', 'age': 20,'money':5000}
b=a.keys()
print(list(b)) #['name', 'age', 'money']
print(tuple(b)) #('name', 'age', 'money')
3.4 用values()返回字典中所有值的对象
a={'name': 'xiaoming', 'age': 20,'money':5000}
b=a.values()
print(list(b)) #['xiaoming', 20, 5000]
print(tuple(b)) #('xiaoming', 20, 5000)
3.5 用items()函数返回字典中所有的键值对,其元素为由键值对构成的元组
a={'name': 'xiaoming', 'age': 20,'money':5000}
b=a.items()
print(list(b)) #[('name', 'xiaoming'), ('age', 20), ('money', 5000)]
print(tuple(b)) #(('name', 'xiaoming'), ('age', 20), ('money', 5000))