首页 > 技术文章 > python-字典

jessicaxu 2017-10-12 22:57 原文

一、字典存储的是无序的键值对,是可变得。可实现增、删、查、改

 

二、实现代码

1、查询

users = {'Licy':18, 'Mark':20}
#查询
print("Licy的年龄是: ", users['Licy'])
print("Licy的年龄是: ", users.get('Licy'))
print(users.get('Lucy')) #如果key不存在会返回None,users.get(key,index)若指定的key不存在,默认返回users[index]
# print(users['Lucy']) #如果key不存在会报错
print("打印users中包含的所有键值对: ", users.items()) #打印所有的键值对
for key in users: #分别打印每一个键值对
    print((key,users[key]))

返回结果:

Licy的年龄是:  18
Licy的年龄是:  18
None
打印users中包含的所有键值对:  dict_items([('Licy', 18), ('Mark', 20)])
('Licy', 18)
('Mark', 20)

 

2、增加

#添加
users['Lucy'] = 16
users.setdefault('Roy',20)
print(users)

打印结果:{'Licy': 18, 'Mark': 20, 'Lucy': 16, 'Roy': 20}

 

3、删除

users = {'Licy': 18, 'Mark': 20, 'Lucy': 16, 'Roy': 20}
#删除
del users['Roy']
users.pop('Lucy')
users.popitem() #随机删除一个
# users.clear() #清空字典
print(users)

打印结果:{'Licy': 18}

 

4、修改

users = {'Licy': 18, 'Mark': 20, 'Lucy': 16, 'Roy': 20}
#修改
users['Licy'] = 28
users.update( Mark = 30 )
print(users)

打印结果:{'Licy': 28, 'Mark': 30, 'Lucy': 16, 'Roy': 20}

 

三、强制转化

#字符串转化为字典
str1 = "{'Licy':18, 'Mark':20}"
dict1 = eval(str1)
print(dict1,type(dict1))
#字典转为为字符串
str2 = str(dict1)
print(str2,type(str2))

打印结果:

{'Licy': 18, 'Mark': 20} <class 'dict'>
{'Licy': 18, 'Mark': 20} <class 'str'>

 

推荐阅读