python数据类型之字典
2018-06-18 02:08:53来源:未知 阅读 ()
字典定义
字典是一种 key-value 的数据类型,这点很重要,是区别使用列表和字典的依据。
语法格式:
info = { 'stu1101': "Aaron", 'stu1102': "Jim", 'stu1103': "Jack", }
字典的特性
- dict是无序的
- key必须是唯一的,所以字典具有天生去重
- 与键值向关联的值可以是数字,字符串和列表
字典操作
字典查找
>>> "stu1102" in info #标准查找用法 True >>> info.get("stu1102") #获取 'Jim' >>> info["stu1102"] #同上,但是看下面 'Jim' >>> info["stu1105"] #如果一个key不存在,就报错,get不会,不存在只返回None Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'stu1105'
字典值添加
>>> info["stu1104"] = "West" >>> print(info) {'stu1102': 'Jim', 'stu1104': 'West', 'stu1103': 'Jack', 'stu1101': 'Aaron'}
字典值修改
>>> info["stu1103"] = "West" >>> print(info) {'stu1102': 'Jim', 'stu1103': 'West', 'stu1104': 'JacWest'}
字典值删除
>>> info {'stu1102': 'Jim', 'stu1103': 'Jack', 'stu1101': 'Aaron'} >>> info.pop("stu1101") #标准删除姿势 'Aaron' >>> info {'stu1102': Jim', 'stu1103': 'Jack'} >>> del info['stu1103'] #永久删除 >>> info {'stu1102': 'Jim'} >>> info = {'stu1102': 'Jim', 'stu1103': 'Jack'} >>> info {'stu1102': 'Jim', 'stu1103': 'Jack'} #随机删除 >>> info.popitem() ('stu1102', 'LongZe Luola') >>> info {'stu1103': 'XiaoZe Maliya'}
字典遍历
遍历分为三种,遍历键值对,遍历键和遍历键值。需要注意的是,在遍历字典时默认是遍历所有的键。在下面的历程中“for key in info.keys():”,可以改为“for key in info:”,但显示的调用方法keys(),代码的可读性更强。
info = { 'stu1101': "Aaron", 'stu1102': "Jim", 'stu1103': "Jack", } #遍历键值对 for key,value in info.items(): print("\nkey:"+key) print("value:"+value) #输出: key:stu1101 value:Aaron key:stu1102 value:Jim key:stu1103 value:Jack #遍历键 for key in info.keys(): print("key:"+key) #输出: key:stu1101 key:stu1102 key:stu1103 #遍历键值 for value in info.value(): print("value:"+value) #输出: value:Aaron value:Jim value:Jack
由字典的特性知,字典是无序的。但有以特定顺序获取键和键值的需求,这可以利用sort方法来实现。
info = { 'stu1101': "Aaron", 'stu1102': "Jim", 'stu1103': "Jack", } for key in sorted(info.keys()) print("key:"+key) #输出: key:stu1101 key:stu1102 key:stu1103
字典嵌套
字典的键值可以嵌套数字,列表和字典。同样的,还有列表的嵌套,我说的是在列表中嵌套字典。具体使用哪种嵌套的数据类型,关键是要把握好列表和字典各自的特性。对于列表来说,列表中的元素描述的应该对应的是同一种属性,比如,要对披萨字典的描述,其中,披萨的配料就不止是一个值能表示,因此,这个字典的键值就是一个列表,即字典嵌套列表;对于字典来说,把握好键值对的理解就好,它们是一一对应的。字典嵌套的使用,难点不是在如何操作,而是能不能设计一个合理的建模模型。
字典嵌套的访问问题
不管是谁嵌套谁,列表和字典的访问都是通过“[]”来实现的,唯一不同是“[]”中的是索引,还是键的问题。
#字典嵌套列表 pissa = { 'crust':'thick', 'toppings':['mushrooms','extra','cheese'], } print(pissa['toppings'][2]) #输出: cheese #列表嵌套字典 people_info = [ {'name':'Aaron','age':'24'}, {'name':'Jim','age':'25'}, ] print(people_info[1]['name']) #输出: Jim
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash