Python快速学习06:词典-阿里云开发者社区

开发者社区> bysocket> 正文

Python快速学习06:词典

简介:
+关注继续查看

基本概念

  字典是Python 中的映射数据类型,工作原理类似关联数组或者哈希表,由键-值(key-value)对构成。几乎所有类型的Python 对象都可以用作键不过一般还是以数字或者字符串最为常用。值可以是任意类型的Python 对象,字典元素用大括号({ })包裹。

 

例子

dic = {'tom':11,'sam':57,'lily':100}
print (type(dic))
print (dic.keys())
print (dic.values())
print (dic.items())

 

会有下面的输出

<class 'dict'>
dict_keys(['sam', 'lily', 'tom'])
dict_values([57, 100, 11])
dict_items([('sam', 57), ('lily', 100), ('tom', 11)])

#可见dic是个 词典

#词典中的键的集合或者值的集合。方法Keys() 或 values() 返回一个列表,该列表是可排序的。 你还可以用 items()方法得到包含键、值对的元组的列表来排序。

由于词典本身是哈希的,所以是无序的。

 

何为哈希

  哈希表是一种数据结构:它按照我们所要求的去工作。哈希表中存储的每一条数据,叫做一个值(value),是根据与它相关的一个被称作为键 (key)的数据项进行存储的。键和值合在一起被称为键-值 对”(key-value pairs)。 哈希表的算法是获取键,对键执行一个叫做哈希函数的操作,并根据计算的结果,选择在数据结构的某个地址中来存储你的值。任何一个值存储的地址皆取决于它的 键。正因为这种随意性,哈希表中的值是没有顺序的。

 

与表不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用

print (dic['tom'])
dic['tom']=30
print (dic)

 

为词典增加一个新元素

dic["jeffLi"] = 99
print (dic)

#这里新建一个键,并赋予一个值。

 

词典的循环调用


for key in dic:
    print ('key=%s, value=%s' % (key, dic[key]))

#在循环中,dict的每个键,被提取出来,赋予给key变量。

 

会有下面的输出

key=lily, value=100
key=sam, value=57
key=tom, value=30

其他常用方法




del dict2['name'] # 删除键为“name”的条目
dict2.clear()     # 删除dict2 中所有的条目
del dict2         # 删除整个dict2 字典
dict2.pop('name') # 删除并返回键为“name”的条目

#del是Python的保留字

 

总结

  #请不要用 dict, list,file, bool, str, input, len 这样的内建类型为变量命名。重载dict()会给你带来麻烦和潜在的bugs

    #词典的每个元素是键值对。元素没有顺序。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python,Jupyter Notebook,IPython快速安装教程
Python,IPython,Jupyter Notebook快速安装教程 下一篇:IPython、Notebook、qtconsole使用教程 下一篇Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas) 最近深入Python的数据分析方面,为了进一步优化工具决定自己动手安装,可是看到安装
3602 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
4069 0
Python全栈 项目(电子词典、协程、pdb调试)
Python项目、 Python练手项目、 Python电子词典项目 、Python 、项目
1305 0
21、 Python快速开发分布式搜索引擎Scrapy精讲—爬虫数据保存
转: 【http://bdy.lqkweb.com】 【http://www.swpan.cn】 注意:数据保存的操作都是在pipelines.py文件里操作的 将数据保存为json文件 spider是一个信号检测 # -*- coding: utf-8 -*- # Define your it.
1023 0
[python]Numpy快速入门
NumPY是Python的一个矩阵处理库,提供了大量点矩阵处理函数,其内部通过C语言实现,执行速度快。 1.一维NumPY数组 使用NumPY提供的arange(n)函数可以创建一个包含n个元素的NumPY数组,取值分别为0~n-1.
545 0
17、Python快速开发分布式搜索引擎Scrapy精讲—深度优先与广度优先原理
【http://www.lqkweb.com】 【http://www.swpan.cn】 网站树形结构 深度优先 是从左到右深度进行爬取的,以深度为准则从左到右的执行(递归方式实现)Scrapy默认是深度优先的 广度优先 是以层级来执行的,(列队方式实现) 【转载自:http://www.
644 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7761 0
18、 Python快速开发分布式搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式
【百度云搜索:http://www.bdyss.cn】 【搜网盘:http://www.swpan.cn】 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/env python # -*- coding:utf8 -*- from scrapy.
641 0
+关注
bysocket
bysocket.com | 加我wx bysocket01,进纯技术交流群
286
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载