一. 字典由索引(key)和它对应的值value组成,字典是Python唯一的映射类型。字典也被称作关联数组或哈希表。每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。键必须独一无二,但值则不必。keys() 返回键列表,values() 返回值列表,items() 返回键值对的元组,has_key(key) 返回是否含有该key。

>>> a={'name':'zhzhgo','age':25}
>>> a
{'age': 25, 'name': 'zhzhgo'}
>>> a.keys()
['age', 'name']
>>> a.values()
[25, 'zhzhgo']
>>> a.items()
[('age', 25), ('name', 'zhzhgo')]
>>> a.has_key('name')
True
>>>

两个重要的点需要记住:

1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住;

2. 键必须不可变,可以用数字,字符串或元组充当,但是不可以用列表。

二. 用工厂方法dict()和内建方法fromkeys()创建字典

>>> a=dict((['name','zhzhgo'],['age',25]))
>>> a
{'age': 25, 'name': 'zhzhgo'}
>>> a={}.fromkeys(('x','y'),1)
>>> a
{'y': 1, 'x': 1}
>>>

三. 查看遍历字典

get()函数,有则返回,无则返回默认值

>>> a={'name':'zhzhgo','age':25}
>>> a['name']
'zhzhgo'
>>> a['age']
25
>>> a.get('name')
'zhzhgo'
>>> a.get('height',180)
180
>>> for i in a:print i,age name
>>> for i in a:print a[i],25 zhzhgo
>>> for k,v in a.items():print k,vage 25
name zhzhgo
>>>

四. 增删改字典

dict1.update(dict2) 更新dict2到dict1,无则添加,重复则覆盖

>>> a={'name':'zhzhgo','age':25}
>>> a['height']=180
>>> a
{'age': 25, 'name': 'zhzhgo', 'height': 180}
>>> del a['height']
>>> a
{'age': 25, 'name': 'zhzhgo'}
>>> b={'age':24}
>>> a.update(b)
>>> a
{'age': 24, 'name': 'zhzhgo'}
>>> b={'height':180}
>>> a.update(b)
>>> a
{'age': 24, 'name': 'zhzhgo', 'height': 180}
>>> h=a.pop('height')
>>> h
180
>>> a
{'age': 24, 'name': 'zhzhgo'}
>>> a.clear()
>>> a
{}
>>>

五. import json
json.dumps() 编码,字典转成字符串
json.loads() 解码,字符串转成字典

>>> a={'name':'zhzhgo','age':25}
>>> import json
>>> json.dumps(a)
'{"age": 25, "name": "zhzhgo"}'
>>> b=json.loads('{"age": 25, "name": "zhzhgo"}')
>>> b
{u'age': 25, u'name': u'zhzhgo'}
>>>

转载于:https://blog.51cto.com/zhzhgo/1673084

Python字典基础相关推荐

  1. python字典基础知识点

    字典增改删查 a={'name':'小红','age':'25','address':'北京'} print(a['name']) #查找键值对 a['sex']='女' #增加键值对 print(a ...

  2. python字典基础应用:制作一个披萨点餐流程

    要求 定义菜单,字典格式{披萨种类名称:原材料}: 给顾客展示菜单,并让顾客输入选择,加入判断语句检查顾客是否输入正确: 问顾客是否额外需要添加材料: 让顾客确认菜单: 分步实现 定义一个字典类型&q ...

  3. Python学习基础必备知识点:字典dict详解

    取键值 1.Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值,如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None. get() 和 setde ...

  4. 【Python基础】Python字典详解-超级完整版

    本文的目录: 一.字典概述 01 字典的格式 Python字典是一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 字典的每个键值key=>value对用冒号 : 分割 ...

  5. Python 字符串/列表/元组/字典之间的相互转换 - Python零基础入门教程

    目录 一.字符串 str 与列表 list 1.字符串转列表 2.列表转字符串 二.字符串 str 与字典 dict 1.字符串转字典 2.字典转字符串 三.列表 list 与字典 dict 1.列表 ...

  6. Python 字典推导式 - Python零基础入门教程

    目录 一.Python 字典推导式简介 二.Python 字典推导式语法 三.Python 字典推导式实战 1.在字典中提取或者修改数据,返回新的字典 2.在字符串中提取数据,返回新的字典 四.重点总 ...

  7. python字典经典例题_Python小白--------基础练习题(列表,元组,字典)

    Python小白--------基础练习题(列表,元组,字典) 发布时间:2018-05-16 18:12, 浏览次数:1167 , 标签: Python 今天总结了这几天所学的基础知识,做了一些练习 ...

  8. 【Python零基础快速入门系列 | 07】浪漫的数据容器:成双成对之字典

    这是机器未来的第11篇文章 原文首发链接:https://blog.csdn.net/RobotFutures/article/details/125038890 <Python零基础快速入门系 ...

  9. Python编程基础:实验3——字典及集合的使用

    Python编程基础:实验3--字典及集合的使用 文章目录 Python编程基础:实验3--字典及集合的使用 一.前言 二.我的环境 三.实验目的与要求 四.实验任务 1.程序填空 2.程序编程 五. ...

最新文章

  1. react-navigation
  2. 计算机辅助制造实验感想6,中南大学计算机辅助制造实验报告1
  3. Win32汇编数据对齐相关的伪指令(ALIGN、EVEN、ORG)
  4. 阿里招“AI鉴黄体验官”:日薪1000!网友:钱不钱无所谓,净化互联网人人有责!...
  5. PHP防SQL注入不要再用addslashes和mysql_real_escape_string
  6. 吴恩达 coursera ML 第五课总结+作业答案
  7. 坦克大战系列6-API常用函数说明2
  8. 关于内存中栈和堆的区别[转]
  9. 工作绩效数据、工作绩效信息和工作绩效报告的区别
  10. Spark(Core)
  11. qq截图和ps相结合的功能
  12. RTP载荷H264视频流
  13. Keil MDK5硬件仿真之基本介绍
  14. Python:Django面试题
  15. Vue/ElementUI上传文件检验
  16. John the Ripper破解密码
  17. 大理大学 计算机研究生分数线,大理大学2018年研究生复试分数线
  18. 如何读博士-2021.06.12
  19. java后台获取Excel后缀名以及sheet页名称
  20. 犹豫两年,我还是重回大厂996了:还是得先搞钱

热门文章

  1. PaaS下半场,任重且道远
  2. 张家界举行“火王”争霸赛 众人街头“玩火”
  3. Facebook新推出AL语言,意在简化程序静态分析
  4. Bzoj3168 [Heoi2013]钙铁锌硒维生素
  5. 解决MYSQL错误:ERROR 1040 (08004): Too many connections
  6. 练习5.1更新——四则运算 测试与封装
  7. 深入浅出 CPropertySheet
  8. java 和 flash socket通信封装
  9. speech codec (G.711, G.723, G.726, G.729, iLBC)
  10. 关于Android adb实现框架和应用