1. Python类似于Java中的哈希表,只是两种语言表示的方式是不一样的,Python中的字典定义如下:

在Python中是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种结构类型通常也被称为映射,或者叫关联数组,也有叫哈希表的。每个key-value之间用 " : " 隔开,每组用","分割,整个字典用"{}"括起来(实际上就是一种映射关系)

2. 下面是关于字典的一些常用的操作:
① 创建字典,常用的主要有以下三种方式:

除了直接用大括号创建字典,还可以用dict( )来创建字典
用法如下:
通过放入列表套元组或者元组套列表实现
或者列表套列表 、元组套元组

具体的代码如下:

# -*- coding: utf-8 -*-
"""
Created on Fri May 17 21:08:34 2019
"""

di = dict([('one', 1), ('two', 2), ('three', 3),('three', 4),('three', 5)])
print(di)
print('-' * 20, "\n")

di = dict((('one', 1), ('two', 2)))
print(di)
print('-' * 20, "\n")

di = dict([['one', 1], ['two1', 2]])
print(di)
print('-' * 20, "\n")

② 对字典进行遍历

for key in dict2:
print(key)
print('-' * 20, "\n")

for key in dict2.keys():
print(key)
print('-' * 20, "\n")

for value in dict2.values():
print(value)
print('-' * 20, "\n")

for key in dict2:
print('%s--%s' %(key,dict2[key]))
print('-' * 20, "\n")

#这样遍历获取到的是一个元祖
for i in dict3.items():
print(i)
print(i[0])
print('-' * 20, "\n")
 ③ dict.clear()
      作用:删除字典中的所有项或元素,无返回值(注意,不是删除字典,而是清空字典内容)

④ dict.get(key , default=None)
      作用:返回字典中key对应的值,若key不存在,则返回default的值(default默认为None)

⑤ dict.pop(key [,default])
      作用:如果字典中存在key,则删除并返回key对应的value;如果key不存在,且没有给出default值,则引发KeyError异常

⑥ dict.setdefault(key , default = None)
      作用:如果字典不存在key,则由dict[key] = default为其赋值

⑦ dict.update(adict) 
       作用:将字典adict中键值对添加到dict中

3. 具体的代码如下:
# -*- coding: utf-8 -*-
"""
Created on Fri May 17 16:59:11 2019
"""

#划重点:键必须是唯一的,必须是不可变的,如字符串,数字,元组
#值可以是任何数据类型
#这让我想到了Java中的哈希表
#1.创建字典
dict1 = {1: 'zhangsan', 2: 'lisi'}
print(dict1)
print(type(dict1))

dict2 = {'name1': 'zhangsan', 'name2': 'lisi'}
#除了直接用大括号创建字典,还可以用dict()来创建字典
#用法如下:
#通过放入列表套元组或者元组套列表实现
#或者列表套列表 、元组套元组
#还记得上节课在元组里讲到的列表和元组的相互转换么?

#使用dict来创建字典
#下面来遍历一下字典中的元素
for key in dict2:
print(key)
print('-' * 20, "\n")

for key in dict2.keys():
print(key)
print('-' * 20, "\n")

for value in dict2.values():
print(value)
print('-' * 20, "\n")

#遍历
for key in dict2:
# 注意在使用输出语句的时候不能够使用逗号
print('%s--%s' %(key,dict2[key]))
print('-' * 20, "\n")

#对于字典的操作
#1.dict.keys()
#作用:返回包含字典所有key的列表

#2.dict.values()
#作用:返回包含字典所有value的列表

#3.dict.items()
#作用:返回包含所有(键,值)项的列表

dict3 = {'xiaoming': 12, 'xiaozhang': 20, 'xiqiaing' : 21}
for i in dict3.items():
#这样遍历获取到的是一个元祖所以我们可以按照取出元祖的方式来取出相应的元素
print(i)
#取出元祖中的第一个元素
print(i[0])
# print(type(i))
print('-' * 20, "\n")

#4.dict.clear()
#作用:删除字典中的所有项或元素,无返回值(注意,不是删除字典,而是清空字典内容)
dict2.clear()
print(dict2)
print('-' * 20, "\n")

#5.dict.get(key , default=None)
#作用:返回字典中key对应的值,若key不存在,则返回default的值(default默认为None)
print(dict3.get('xiaoming'))
print('-' * 20, "\n")

#6.dict.pop(key [,default])
#作用:如果字典中存在key,则删除并返回key对应的value;如果key不存在,且没有给出default值,则引发KeyError异常
print(dict3.pop('xiqiaing'))
print(dict3)
print('-' * 20, "\n")

#7.dict.setdefault(key , default = None)
#作用:如果字典不存在key,则由dict[key] = default为其赋值

dict3.setdefault('xiqiaing', 22)
print(dict3)

#8.dict.update(adict)
#作用:将字典adict中键值对添加到dict中
dict3.update(dict1)
print(dict3)
---------------------

最新文章

  1. Mac入门(三)使用brew安装软件
  2. geotrellis使用(二十一)自动导入数据
  3. winform窗体(一)——基本属性
  4. mysql集群数据一致性校验
  5. javascript数据结构与算法--高级排序算法
  6. Java实现Excel导入数据库,数据库中的数据导入到Excel
  7. IIS服务器下做301永久重定向设置方法
  8. lua堆栈操作常用函数学习二
  9. Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图
  10. php内存申请和销毁
  11. 【转】spin_lock & mutex_lock的区别? .
  12. EXCEL Pivot table manipulate
  13. Android中获取网络数据时的分页加载
  14. [转]修改hosts文件不起作用
  15. 盘点一下立过的flag并立几个flag
  16. HDU2108和HDU2036(叉乘)
  17. bat执行python脚本,执行多条命令
  18. JSON库的使用研究(二)
  19. 读书笔记(06) - 语法基础 - JavaScript高级程序设计
  20. (转) gffcompare和gffread | gtf | gff3 格式文件的分析 | gtf处理 | gtfparse

热门文章

  1. Linux进程线程学习笔记:运行新程序
  2. 华为/H3C Syslog配置
  3. 清楚windows 网络密码
  4. HDU 4532
  5. NSDate时间类/NSDateFormatter日期格式类
  6. Oracle经典教程学习笔记
  7. bzoj 1045 [HAOI2008] 糖果传递 —— 贪心
  8. 自己对javascript闭包的了解
  9. php函数 array_values()
  10. B - IQ test