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的主要内容,如果未能解决你的问题,请参考以下文章

Python学习之路——基础07篇

学习笔记:python3,代码片段(2017)

Python 函数声明和调用

[vscode]--HTML代码片段(基础版,reactvuejquery)

如何在 python 中并行化以下代码片段?

python基础07