博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础学习07--字典
阅读量:5161 次
发布时间:2019-06-13

本文共 2838 字,大约阅读时间需要 9 分钟。

字典

字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现

字典中的数据每个都有键值对组成,即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的数据类型为: 
dict1 : {}dict2 : {
1: 'Apple', 2: 'OnePlus'}dict3的数据类型为:
dict3 : {
'area': 'beijing', 'user': {
'user1': {
'name': 'wilson', 'tel': 13800}, 'user2': {
'name': 'tom', 'tel': 138000}}}

上面的多嵌套字典可以看出,输出结果较长,查看较为困难,这时候需要导入pprint模块,方面查看数据

import pprintdict4 = {
'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的值 : Appleuser2的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 在字典中: TrueApple在字典中: False

 字典的常用方法

1、item()

    以列表返回可遍历的(键, 值) 元组数组

dict10 = {1:'Apple',2:'OnePlus'}d1 = dict10.items()print('d1的数据类型:',type(d1))print('d1 :',d1)
d1的数据类型: 
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的数据类型: 
d2 : dict_keys([1, 2])

3、keys()

    返回一个迭代器,可以使用 list() 来转换为列表

dict10 = {1:'Apple',2:'OnePlus'}d3 = dict10.values()print('d3的数据类型:',type(d3))print('d3 :',d3)
d3的数据类型: 
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 的值为 : Apple3 的值为 : None

 

 

转载于:https://www.cnblogs.com/wilson-5133/p/10352008.html

你可能感兴趣的文章
jQuery 显示加载更多
查看>>
代理模式
查看>>
Confluence 6 系统运行信息中的 JVM 内存使用情况
查看>>
Confluence 6 升级以后
查看>>
用JS实现版面拖拽效果
查看>>
二丶CSS
查看>>
《avascript 高级程序设计(第三版)》 ---第二章 在HTML中使用Javascript
查看>>
JS一些概念知识及参考链接
查看>>
TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
查看>>
SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
查看>>
游戏中的心理学(一):认知失调有前提条件
查看>>
WHAT I READ FOR DEEP-LEARNING
查看>>
【Ruby】Ruby在Windows上的安装
查看>>
Objective C 总结(十一):KVC
查看>>
BZOJ 3747 洛谷 3582 [POI2015]Kinoman
查看>>
vue实战(7):完整开发登录页面(一)
查看>>
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>
读《构建之法-软件工程》第四章有感
查看>>
使用 Printf via SWO/SWV 输出调试信息
查看>>