python数据类型之字典(一)
>>> 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数据类型之字典(一)的更多相关文章
- python数据类型:字典Dictionary
python数据类型:字典Dictionary 字典是一种可变容器模型,可以存储任意类型对象 键是唯一的,但是值不需要唯一 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字,元组 创建字典: ...
- Python数据类型-6 字典
字典 Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度.但它是无序的,包含的元素个数不限, ...
- Python数据类型(字典和集合)
1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...
- python 数据类型三 (字典)
一.字典的介绍 字典(dict)是python中唯一的一个映射类型,它是以{}括起来的键值对组成,在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将key-value保存 ...
- Python数据类型-04.字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据 ------------ 完美的分割线 ------------- 1.字典引入 # 为何还要用字典?存放一个人的信 ...
- Python数据类型(字典)
文章内容参考了教程:http://www.runoob.com/python/python-basic-syntax.html#commentform Python 字典(Dictionary) 字典 ...
- python数据类型之字典操作
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由key和value成对组成.基本语法如下: infos = {"name&q ...
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之字典类型(dict)
字典!在Python中字典是另一种可变容器模型,可以存储任意类型的对象.是Python存储数据类型的最高级(maybe). 特点:1. 字典的存储方式和其他类型数据略有不同,是通过键(key)和值(v ...
- Python学习(六) Python数据类型:字典(重要)
字典dict: 字典其实就相当于java里面的Map,用来存储键值对的.其中存储的数据时无序的. 假如有这样的数据: t1=['name','age','sex'] t2=['tom',30,'mal ...
- python 数据类型 之 字典
python 3.6.5字典的特性和定义定义:{'key_1':vlaue_1,'key_2':value_2}1.键与值用冒号 : 分开2.项与项 用 , 分开 特性1.可以存放多个值,可以不唯一, ...
随机推荐
- VirtualBox安装增强功能报错
VirtualBox默认不支持调整分辨率,想调整分辨率需要安装增强功能,点击菜单->设备->安装增强功能 我在安装的时候报错了,提示: 这个时候注意虚拟机的桌面,其实这个时候已经加载了虚拟 ...
- 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的新纪元(从诺基亚移居到芬兰公 ...
- pycharm怎么设置代码自动补齐
代码补全功能在PyCharm上是一流的.默认情况下PyCharm会在你输入的时候给出建议: 由于此功能可有点耗电,你可以通过选择File→Power Save Mode来禁用它.您仍然可以通过Cont ...
- ios中输入框的父类--文本框,DataPick,pickerview
父控制器 #import <UIKit/UIKit.h> #import "ScrollViewExt.h" @interface BaseKeyBoardCtrl : ...
- 点击LinearLayout使用selector改变TextView字体颜色
[html] view plaincopy <LinearLayout android:clickable="true" android:focusable=" ...
- jQuery的deferred对象详解(转)
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本. 每个版本都会引入一些新功能.今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. ...
- Appium 输入 & 符号,实际输入&-
2018-10-11 12:27:12:178 - [debug] [MJSONWP] Calling AppiumDriver.setValue() with args: [["& ...
- 第三部分:Android 应用程序接口指南---第二节:UI---第十二章 自定义组件
第12章 自定义组件 Android平台提供了一套完备的.功能强大的组件化模型用于搭建用户界面,这套组件化模型以View和 ViewGroup这两个基础布局类为基础.平台本身已预先实现了多种用于构建界 ...
- Socket网络编程--简单Web服务器(3)
上一小节已经实现了浏览器发送请求,然后服务器给出应答信息,然后浏览器显示出服务器发送过来的网页.一切看起来都是那么的美好.这一小节就准备实现可以根据地址栏url的不同来返回指定的网页.目前还不考虑带参 ...
- Fluent动网格【1】:概述
最近总有小伙伴向我询问Fluent中的动网格问题,因此决定做一期关于Fluent动网格技术的内容. 动网格技术在流体仿真中很特殊,应用也很广.生活中能够碰到形形色色的包含有部件运动的问题,比如说我现在 ...