>>> dInfo = dict(Wangdachui=3000,Niuyun=2000,Linling=4500,Tianqi=8000)
>>> dInfo
{'Wangdachui': 3000, 'Niuyun': 2000, 'Linling': 4500, 'Tianqi': 8000}

字典定义:

字典是一种映射类型,是由key(键)和value(值)组成的键值对,key是不可变类型,可以是数字、字符串、元组等等

创建字典:

1、直接创建:

ainfo = {'Wangdachui':3000,'Niuyun':2000.'Linling':4500,'Tianqi':8000}

2、间接创建:

>>> info = [('Wangdachui',3000),('Niuyun',2000),('Linling',4500),('Tianqi',8000)]
>>> binfo = dict(info)
>>> binfo
{'Wangdachui': 3000, 'Niuyun': 2000, 'Linling': 4500, 'Tianqi': 8000}
>>> info = [['Wangdachui',3000],['Niuyun',2000],['Linling',4500],['Tianqi',8000]]
>>> dict(info)
{'Wangdachui': 3000, 'Niuyun': 2000, 'Linling': 4500, 'Tianqi': 8000}
>>> dInfo = dict(Wangdachui=3000,Niuyun=2000,Linling=4500,Tianqi=8000)
>>> dInfo
{'Wangdachui': 3000, 'Niuyun': 2000, 'Linling': 4500, 'Tianqi': 8000}
>>> info = (('Wangdachui',3000),('Niuyun',2000),('Linling',4500),('Tianqi',8000))
>>> dict(info)
{'Wangdachui': 3000, 'Niuyun': 2000, 'Linling': 4500, 'Tianqi': 8000}
>>> info = (['Wangdachui',3000],['Niuyun',2000],['Linling',4500],['Tianqi',8000])
>>> dict(info)
{'Wangdachui': 3000, 'Niuyun': 2000, 'Linling': 4500, 'Tianqi': 8000}

上面五种方法,有四种其实是列表+元组的排列组合。。

如何将value设为默认值?

>>> aDict = {}.fromkeys(('Wangdachui','Niuyun','Linling','Tianqi'),3000)
>>> aDict
{'Wangdachui': 3000, 'Niuyun': 3000, 'Linling': 3000, 'Tianqi': 3000}

注意这里fromkeys的第一个元素必须是不可变的元组,不能是可变的列表

如何将两个列表组合成一个字典?  

>>> names = ['Wangdachui','Niuyun','Linling','Tianqi']
>>> salaries = [3000,2000,4500,8000]
>>> dict(zip(names,salaries))
{'Wangdachui': 3000, 'Niuyun': 2000, 'Linling': 4500, 'Tianqi': 8000}

创建字典案例:

给出一个列表的数据,包括公司代码,公司名称和股票价格

>>> plist = [('AXP', 'American Express Company', '86.40'),
('BA', 'The Boeing Company', '122.64'),
('CAT', 'Caterpillar Inc.', '99.44'),
('CSCO', 'Cisco Systems,Inc.', '23.78'),
('CVX', 'Chevron Corporation', '115.91')]

如何构造公司代码和股票价格的字典

{'AXP': '86.40', 'BA': '122.64', 'CAT': '99.44', 'CSCO': '23.78', 'CVX': '115.91'}

这里有两种方法:

1、用for循环

>>> plist
[('AXP', 'American Express Company', '86.40'), ('BA', 'The Boeing Company', '122.64'), ('CAT', 'Caterpillar Inc.', '99.44'), ('CSCO', 'Cisco Systems,Inc.', '23.78'), ('CVX', 'Chevron Corporation', '115.91')]
>>> alist =[]
>>> blist =[]
>>> for i in range(5):
aStr = plist[i][0]
bStr = plist[i][2]
alist.append(aStr)
blist.append(bStr) >>> aDict = dict(zip(alist,blist))
>>> aDict
{'AXP': '86.40', 'BA': '122.64', 'CAT': '99.44', 'CSCO': '23.78', 'CVX': '115.91'}

2、用生成键值对的方式

>>> plist
[('AXP', 'American Express Company', '86.40'), ('BA', 'The Boeing Company', '122.64'), ('CAT', 'Caterpillar Inc.', '99.44'), ('CSCO', 'Cisco Systems,Inc.', '23.78'), ('CVX', 'Chevron Corporation', '115.91')]
>>> aDict ={}
>>> for data in plist:
aDict[data[0]] = data[2] >>> aDict
{'AXP': '86.40', 'BA': '122.64', 'CAT': '99.44', 'CSCO': '23.78', 'CVX': '115.91'}

python数据类型之字典(一)的更多相关文章

  1. python数据类型:字典Dictionary

    python数据类型:字典Dictionary 字典是一种可变容器模型,可以存储任意类型对象 键是唯一的,但是值不需要唯一 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字,元组 创建字典: ...

  2. Python数据类型-6 字典

    字典 Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度.但它是无序的,包含的元素个数不限, ...

  3. Python数据类型(字典和集合)

    1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...

  4. python 数据类型三 (字典)

    一.字典的介绍 字典(dict)是python中唯一的一个映射类型,它是以{}括起来的键值对组成,在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将key-value保存 ...

  5. Python数据类型-04.字典

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据 ------------ 完美的分割线 ------------- 1.字典引入 # 为何还要用字典?存放一个人的信 ...

  6. Python数据类型(字典)

    文章内容参考了教程:http://www.runoob.com/python/python-basic-syntax.html#commentform Python 字典(Dictionary) 字典 ...

  7. python数据类型之字典操作

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由key和value成对组成.基本语法如下: infos = {"name&q ...

  8. Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之字典类型(dict)

    字典!在Python中字典是另一种可变容器模型,可以存储任意类型的对象.是Python存储数据类型的最高级(maybe). 特点:1. 字典的存储方式和其他类型数据略有不同,是通过键(key)和值(v ...

  9. Python学习(六) Python数据类型:字典(重要)

    字典dict: 字典其实就相当于java里面的Map,用来存储键值对的.其中存储的数据时无序的. 假如有这样的数据: t1=['name','age','sex'] t2=['tom',30,'mal ...

  10. python 数据类型 之 字典

    python 3.6.5字典的特性和定义定义:{'key_1':vlaue_1,'key_2':value_2}1.键与值用冒号 : 分开2.项与项 用 , 分开 特性1.可以存放多个值,可以不唯一, ...

随机推荐

  1. 这些年我在技术路上做过最虚伪愚蠢的事情,就是在CSDN上刷屏赚分

    现在似乎Github成了所谓技术人士的新宠,之前是博客,更早则是论坛. CSDN是众多技术论坛里比较突出的一个,人多高手也多,很多问题都能得到满意的回答. 谁都希望自己卓尔不群,我也不例外,我也想像那 ...

  2. 权威公布:彻底搞清楚哪些笔记本和台式机主板能够支持42mm SATA M.2 NGFF(2242)接口的固态硬盘!!!

    在京东,天猫上搜寻半天.致电联想客服以及各个固态盘的店小二.都搞不清楚兼容性问题.并且联想客服的回答明显错误,官网描写叙述也错误,客服project师也含糊不清说:要拆机试一试才知道是否兼容. 我就不 ...

  3. C#中Invoke的用法1

    invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解.  首先说下,invoke和be ...

  4. Qt编译错误“GL/gl.h:No such file or directory”的解决方法

    备注:1)操作系统:Ubuntu-14.04或12.042)Linux用户:root3)Qt版本:qt-linux-opensource-5.2.0-x86 为了迎接Qt的新纪元(从诺基亚移居到芬兰公 ...

  5. 微信支付(APP支付)-服务端开发(一)

    微信支付,首先需要注册一个商户平台公众账号,(网址:https://pay.weixin.qq.com/index.php/home/d_login) 目前微信支付的接入方式有四种方式:公众号支付,A ...

  6. 判断一棵二叉树是否为AVL树

    思路:AVL树是高度平衡的二叉搜索树,这里为了清晰说明,分别判断是否为搜索树,是否为平衡树. struct TreeNode { struct TreeNode *left; struct TreeN ...

  7. 常用curl测试命令

    1.curl 基础用法 2.curl 常用 3.curl 拓展 1.curl基础用法 语法:# curl [option] [url] curl除了用以请求数据,还可以用来上传下载 -A/--user ...

  8. 超简单Windows安装Scrapy (仅需一步)

    网上很多关于windows安装Scrapy的教程都非常的繁琐,请看我给大家分享的教程,非常简单 一步完成. 超简单的安装方法: 下载地址: https://www.continuum.io/downl ...

  9. shell脚本介绍
 shell脚本结构和执行
date命令用法
 shell脚本中的变量

  10. [GPU] DIY for Deep Learning Workstation

    Link: jcjohnson/cnn-benchmarks Ref: Build a super fast deep learning machine for under $1,000 Graphi ...