5、Python 基础类型 -- Dictionary 字典类型

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

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

d = {key1 : value1, key2 : value2 }
 
1、创建字典

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

>>>dict = {'a': 1, 'b': 2, 'b': '3'}
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': '3'}

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

一个简单的字典实例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典:

dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }
 
2、访问字典里面的值

dic_1={'name':'jack','age':'18'}

print(dic_1)
print(dic_1['name'])

>>>{'name': 'jack', 'age': '18'}

>>>jack

3、修改字典
 
向字典添加新内容的方法是增加新的键/值对

dic_1={'name':'jack','age':'18'}

dic_1['name'] = 'happy'     #更新 name

dic_1['class'] = 'python'    #添加 class

print(dic_1)
print(dic_1['name'])

 

>>>{'name': 'happy', 'age': '18', 'class': 'python'}

>>>happy

 
4、删除字典元素
 

dic_1={'name':'jack','age':'18'}

del dic_1['name']    #删除键是 name 的内容
dic_1.clear()          # 清空字典所有内容
del dic_1               #删除字典,删除后 字典将不存在

 

5、字典的特性
 
1)键必须唯一:即如果同一个键被赋值多次,仅记录最后的赋值信息,前面的赋值信息将被覆盖。

dic_1= {'name':'jack',   'age':'18',  'name':'happy'}

print(dic_1)

>>> {'name': 'happy',   'age': '18'}

2)键必须不可变:即可以用数字,字符串或元祖去充当;不可以用列表去充当键。

dic_1={['name']:'jack','age':'18','name':'happy'}

print(dic_1)

>>> Traceback (most recent call last):

File "C:/Users/Administrator/PycharmProjects/requestDemo/study_demo/demo_request_0125/demo.py", line 12, in <module>
dic_1={['name']:'jack','age':'18','name':'happy'}
TypeError: unhashable type: 'list'

 
6、字典内置函数
 
1)len(): 计算字典元素个数,即键的总数


dic_1={'name':'jack','age':'18'}

print(len(dic_1))

>>> 2

 

2)type() :返回输入的变量类型

3)dict.items() :以元祖的方式返回dict中的键值信息

dic_1={'name':'jack','age':'18'}

for item in dic_1.items():
print('item 内容为:{}'.format(item))

>>>item 内容为:('name', 'jack')

      item 内容为:('age', '18')

 

以字符串类型返回 key,value 的值

for key,value in dic_1.items():
print('key值为 {}:value 值为 {}'.format(key,value))

>>>key值为 name,value 值为 jack

      key值为 age,value 值为 18

 
posted @ 2019-01-31 10:04  小小白的世界  阅读(258)  评论(0编辑  收藏  举报