Python基础学习07
Posted 落晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础学习07相关的知识,希望对你有一定的参考价值。
字典
字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现
字典中的数据每个都有键值对组成,即kv对
- key: 必须是可哈希的值,比如int,string,float,tuple;但是list,set,dict 不行
- value: 任何值
创建字典
# 创建空字典 dict1 = {} print(\'dict1的数据类型为:\',type(dict1)) print(\'dict1 :\',dict1) # 创建存在数据的字典 dict2 = {1:\'Apple\',2:\'OnePlus\'} print(\'dict2 :\',dict2) # 创建多嵌套字典 dict3 = {\'area\':\'beijing\',\'user\':{\'user1\':{\'name\':\'wilson\',\'tel\':13800},\'user2\':{\'name\':\'tom\',\'tel\':138000}}} print(\'dict3的数据类型为:\',type(dict3)) print(\'dict3 :\',dict3)
输出结果如下:
dict1的数据类型为: <class \'dict\'> dict1 : {} dict2 : {1: \'Apple\', 2: \'OnePlus\'} dict3的数据类型为: <class \'dict\'> dict3 : {\'area\': \'beijing\', \'user\': {\'user1\': {\'name\': \'wilson\', \'tel\': 13800}, \'user2\': {\'name\': \'tom\', \'tel\': 138000}}}
上面的多嵌套字典可以看出,输出结果较长,查看较为困难,这时候需要导入pprint模块,方面查看数据
import pprint dict4 = {\'area\':\'beijing\',\'user\':{\'user1\':{\'name\':\'wilson\',\'tel\':13800},\'user2\':{\'name\':\'tom\',\'tel\':138000}}} pprint.pprint(dict4)
输出格式如下:
{\'area\': \'beijing\', \'user\': {\'user1\': {\'name\': \'wilson\', \'tel\': 13800}, \'user2\': {\'name\': \'tom\', \'tel\': 138000}}}
访问字典数据
# 查看key为1的值 dict5 = {1:\'Apple\',2:\'OnePlus\'} print(\'key为1的值 :\',dict5[1]) # 查看user2的tel值 dict6 = {\'area\':\'beijing\',\'user\':{\'user1\':{\'name\':\'wilson\',\'tel\':13800},\'user2\':{\'name\':\'tom\',\'tel\':138000}}} print(\'user2的tel值 :\',dict6[\'user\'][\'user2\'][\'tel\'])
输出结果如下:
key为1的值 : Apple
user2的tel值 : 138000
更改字典中的值
dict7 = {1:\'Apple\',2:\'OnePlus\'} print(\'dict7-前 :\',dict7) dict7[2] = \'Iphone\' # 修改key=2的值为\'Iphone\' print(\'dict7-后 :\',dict7)
输出结果如下:
dict7-前 : {1: \'Apple\', 2: \'OnePlus\'} dict7-后 : {1: \'Apple\', 2: \'Iphone\'}
删除字典元素
dict8 = {1:\'Apple\',2:\'OnePlus\'} print(\'dict8-前 :\',dict8) del dict8[2] # 删除key=2的键值对 print(\'dict8-后 :\',dict8)
输出结果如下:
dict8-前 : {1: \'Apple\', 2: \'OnePlus\'} dict8-后 : {1: \'Apple\'}
成员检测--in , not in
成员检测检测的是key内容
dict9 = {1:\'Apple\',2:\'OnePlus\'} print(\'1 在字典中:\',1 in dict9) # 检测 1 是否在dict9中 print(\'Apple在字典中:\',\'Apple\' in dict9) # 检测 Apple 是否在dict9中
输出结果如下:
1 在字典中: True
Apple在字典中: False
字典的常用方法
1、item()
以列表返回可遍历的(键, 值) 元组数组
dict10 = {1:\'Apple\',2:\'OnePlus\'} d1 = dict10.items() print(\'d1的数据类型:\',type(d1)) print(\'d1 :\',d1)
d1的数据类型: <class \'dict_items\'> d1 : dict_items([(1, \'Apple\'), (2, \'OnePlus\')])
2、keys
返回一个迭代器,可以使用 list() 来转换为列表
dict10 = {1:\'Apple\',2:\'OnePlus\'} d2 = dict10.keys() print(\'d2的数据类型:\',type(d2)) print(\'d2 :\',d2)
d2的数据类型: <class \'dict_keys\'> d2 : dict_keys([1, 2])
3、keys()
返回一个迭代器,可以使用 list() 来转换为列表
dict10 = {1:\'Apple\',2:\'OnePlus\'} d3 = dict10.values() print(\'d3的数据类型:\',type(d3)) print(\'d3 :\',d3)
d3的数据类型: <class \'dict_values\'> d3 : dict_values([\'Apple\', \'OnePlus\'])
4、get()
返回指定键的值,如果值不在字典中返回默认值。
dict10 = {1:\'Apple\',2:\'OnePlus\'} d4 = dict10.get(1) d5 = dict10.get(3,None) print(\'1 的值为 :\',d4) print(\'3 的值为 :\',d5)
1 的值为 : Apple
3 的值为 : None
以上是关于Python基础学习07的主要内容,如果未能解决你的问题,请参考以下文章