【Python】语法基础---8、字典结构

1.8 字典结构

可变对象:

字典本身是一组映射的集合,每一个数据项都由 键和值 组成的 键值对

字典都是由键值对组成的,所以我们可以根据键从而获取值

这里同集合set一样,不能通过角标获取元素

字典当中 键是不能重复的 值是可以重复的

所有键的组成一个集合,所有值组成一个序列

键必须是不可变对象!!!!!!

创建字典:

键和值之间用冒号:分割,每个键值对之间用逗号,分割,整个字典在{}

>>> s = {1,2,3}
>>> type(s)
<class 'set'>
>>> s = {}
>>> type(s)
<class 'dict'>
>>> s = set()
>>> s
set()
​
>>> dic = {}
>>> dic = {'Alice':20,'Beth':21,'Cecil':30}
>>> dic
{'Alice': 20, 'Beth': 21, 'Cecil': 30}
>>> dic = dict(hehe=20,haha=30,xixi=40)
>>> dic
{'hehe': 20, 'haha': 30, 'xixi': 40}
>>> dic = dict([('lala',2),('xixi',3),('hehe',4)])
>>> dic
{'lala': 2, 'xixi': 3, 'hehe': 4}

访问元素

通过键来访问元素

>>> dic
{'lala': 2, 'xixi': 3, 'hehe': 4}
>>> dic[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 0
​
>>> dic ={0:1,1:2,2:3}
>>> dic
{0: 1, 1: 2, 2: 3}
>>> dic[0]
1
​
>>> dic= {'lala': 2, 'xixi': 3, 'hehe': 4}
>>> dic['heihei']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'heihei'

增加和修改

增加就是往字典中新增一条键值对,修改是将原先键所对应的值进行修改,由于key只能对应一个值,所以,多次对一个key赋值,其实就是在修改。

如果key不存在,则为新增;如果存在,则为修改

>>> dic
{'lala': 2, 'xixi': 3, 'hehe': 4}
>>> dic['lala'] = 666
>>> dic
{'lala': 666, 'xixi': 3, 'hehe': 4}
>>> dic['lala'] = 888
>>> dic
{'lala': 888, 'xixi': 3, 'hehe': 4}
>>> dic['kaka'] = 9
>>> dic
{'lala': 888, 'xixi': 3, 'hehe': 4, 'kaka': 9}
>>> dic['kaka'] = 10
>>> dic
{'lala': 888, 'xixi': 3, 'hehe': 4, 'kaka': 10}

删除操作

>>> del dic['xixi']
>>> dic
{'lala': 888, 'hehe': 4, 'kaka': 10}
>>> dic.pop('hehe')
4
>>> dic
{'lala': 888, 'kaka': 10}
​
>>> dic.clear()
>>> dic
{}
>>> del dic

遍历字典

keys()、values()、items()

dic = {'lala': 1, 'xixi': 3, 'hehe': 4, 'kaka': 2}
​
# 1.直接遍历字典 获取键 根据键获取值
for key in dic:
    print(key, dic[key])
print("=" * 10)
​
# 2. 利用keys方法 获取键 根据键获取值
for key in dic.keys():
    print(key, dic[key])
print("=" * 10)
# 3. 利用values方法 获取值 但是无法获取键
for value in dic.values():
    print(value)
print("=" * 10)
# 4. 利用items方法 获取键值对-元组
for key,values in dic.items():
    print(key,values)

猜你喜欢

转载自blog.csdn.net/trichloromethane/article/details/108267749
今日推荐