python数据类型之字典Dictionary(二)

1.python字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

2.字典实例

#coding=utf-8
#创建空字典
dictionary1={}
print(type(dictionary1))
#多元素字典
dictionary1 = {'age':18,'name':'tom',11:22,12.5:3.1415};
#取值
print(dictionary1["age"],dictionary1["name"])
print(dictionary1)
#根据健,修改值
dictionary1["age"]=28
print(dictionary1["age"])
#添加值,字典名[健]=值
dictionary1["job"]="teach"
dictionary1[888]=666
print(dictionary1)
#根据健,删除值
del dictionary1[888]
print(dictionary1)
#清空字典条目
dictionary1.clear()
print(dictionary1)
#删除整个dictionary,打印会报NameError: name 'dictionary1' is not defined
del dictionary1
print(dictionary1)

运行结果:

Traceback (most recent call last):
  File "D:\mypythonproject\第三单元-数据类型\dictionary.py", line 25, in <module>
    print(dictionary1)
          ^^^^^^^^^^^
NameError: name 'dictionary1' is not defined
<class 'dict'>
18 tom
{'age': 18, 'name': 'tom', 11: 22, 12.5: 3.1415}
28
{'age': 28, 'name': 'tom', 11: 22, 12.5: 3.1415, 'job': 'teach', 888: 666}
{'age': 28, 'name': 'tom', 11: 22, 12.5: 3.1415, 'job': 'teach'}
{}

 3.字典方法实例

#coding=utf-8
dictionary1={11:22,33:44,55:66}
dictionary2={'aa':'bb','cc':'dd','ee':'ff'}
print(type(dictionary1),type(dictionary2),len(dictionary1),len(dictionary2),dictionary1,dictionary2)
#以列表的形式返回字典的所有健
print(dictionary1.keys())
#直接复制,和copy的区别
dictionary3=dictionary1 #浅拷贝: 引用对象,像windows快捷键
dictionary4=dictionary1.copy() #浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,子对象是引用。像windows复制
print(dictionary3,dictionary4)
del dictionary1[11]
print(dictionary3,dictionary4)
dictionary1[33]=33
print(dictionary3,dictionary4)
#返回并删除字典中的最后一对键和值。
print(dictionary2.popitem())
#把字典dictionary2更新到dictionary1
dictionary1.update(dictionary2)
print(dictionary1)
#以列表的形式返回视图对象
print(dictionary1.items())

运行结果:

<class 'dict'> <class 'dict'> 3 3 {11: 22, 33: 44, 55: 66} {'aa': 'bb', 'cc': 'dd', 'ee': 'ff'}
dict_keys([11, 33, 55])
{11: 22, 33: 44, 55: 66} {11: 22, 33: 44, 55: 66}
{33: 44, 55: 66} {11: 22, 33: 44, 55: 66}
{33: 33, 55: 66} {11: 22, 33: 44, 55: 66}
('ee', 'ff')
{33: 33, 55: 66, 'aa': 'bb', 'cc': 'dd'}
dict_items([(33, 33), (55, 66), ('aa', 'bb'), ('cc', 'dd')])

 

posted @ 2022-09-07 17:19  家乐福的搬砖日常  阅读(79)  评论(0编辑  收藏  举报