Python 数据类型-3
字典 (dict)
Python中唯一的映射的类型(哈希表)
字典对象是可变的,但是字典的键必须使用不可变的对象,一个字典可以使用不同类型的键值
定义字典:
In [68]: dic = {} #使用 {}创建空字典
In [69]: dic
Out[69]: {}
In [70]: type(dic)
Out[70]: dict
In [71]: dic = {'a':1, 1:'abc'} #使用 {} 创建字典
In [72]: dic
Out[72]: {1: 'abc', 'a': 1} #无序
In [73]: type(dic)
Out[73]: dict
In [77]: list1 = ['name', 'age'] #将列表合并为字典
In [78]: list2 = ['tom', 20]
In [79]: dict(zip(list1, list2)) #dict()函数创建字典
Out[79]: {'age': 20, 'name': 'tom'}
In [81]: dict(x=10,y=11) ##使用dict()函数创建字典
Out[81]: {'x': 10, 'y': 11}
In [82]: dict.fromkeys('abce',100) ##使用dict.fromkeys()方法创建字典
Out[82]: {'a': 100, 'b': 100, 'c': 100, 'e': 100}
方法:
get() 根据键获取值
k = {"name":"lijunjiang", "age":20}
print(k.get("name"))
print(k.get("age"))
print(k.get("address"))
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
lijunjiang
20
None #没有的键值返回 None
Process finished with exit code 0
setdefault() 设置默认值,当KEY有值时,保持原值,当key没有值则设置该key的值
k = {"name":"lijunjiang", "age":20}
print(k.setdefault("name", "libai"))
print(k.setdefault("age", 19))
print(k.setdefault("address", "beijing"))
print(k)
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
lijunjiang
20
beijing
{'age': 20, 'name': 'lijunjiang', 'address': 'beijing'}
Process finished with exit code 0
keys() 获的字典的Key (一次性取出所有)
iterkeys() 获得一个对象 (逐个取出) 效率高
k = {"name":"lijunjiang", "age":20}
print(k.keys())
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
['age', 'name']
Process finished with exit code 0
values() 获取所有key的值(一次性取出所有)
iteritems() 获得一个对象(逐个取出) 效率高
k = {"name":"lijunjiang", "age":20}
print(k.values())
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
[20, 'lijunjiang']
Process finished with exit code 0
iterkey iteritems items(逐个将key:values取出返回一个列表)
k = {"name":"lijunjiang", "age":20}
for x, y in k.iteritems():
print( x , y)
print(k.items())
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
('age', 20)
('name', 'lijunjiang')
[('age', 20), ('name', 'lijunjiang')]
Process finished with exit code 0
pop() 删除某个在的键值,必须输入一个存在的key,否则会报错
k = {"name":"lijunjiang", "age":20}
k.setdefault("addr", "beijing")
print(k)
k.pop("name")
print(k)
k.pop("addr")
print(k)
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
{'age': 20, 'name': 'lijunjiang', 'addr': 'beijing'}
{'age': 20, 'addr': 'beijing'}
{'age': 20}
Process finished with exit code 0
fromkeys()
list1 = ["a", "b", "c", "d"]
k = {}
n = k.fromkeys(list1, 123)
print(n)
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
{'a': 123, 'c': 123, 'b': 123, 'd': 123}
Process finished with exit code 0
zip()
list1 = ["a", "b", "c", "d"]
list2 = [12, 234, 32, 23]
n = zip(list1, list2)
print(n)
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
[('a', 12), ('b', 234), ('c', 32), ('d', 23)]
Process finished with exit code 0
#########################################################33
dict()
列表转换成字典
list1 = ["a", "b", "c", "d"]
list2 = [12, 234, 32, 23]
n = dict(zip(list1, list2))
print(n)
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
{'a': 12, 'c': 32, 'b': 234, 'd': 23}
Process finished with exit code 0
dict.updata()
list1 = ["a", "b", "c", "d"]
list2 = [12, 234, 32, 23]
n = dict(zip(list1, list2))
print(n)
k = {"name": "lijunjiang", "age": 20}
k.update(n)
print(k)
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
{'a': 12, 'c': 32, 'b': 234, 'd': 23}
{'a': 12, 'c': 32, 'b': 234, 'name': 'lijunjiang', 'age': 20, 'd': 23}
Process finished with exit code 0
sorted()
mm = dict(a=1, b=120, c=5, d=50)
print sorted(mm.iteritems(), key = lambda d: d[1], reverse=True)
print sorted(mm.iteritems(), key = lambda a: a[0], reverse=True)
执行:
C:\Python27\python.exe D:/Python/type-of-data1.py
[('b', 120), ('d', 50), ('c', 5), ('a', 1)]
[('d', 50), ('c', 5), ('b', 120), ('a', 1)]
Process finished with exit code 0
Python 数据类型-3的更多相关文章
- python 数据类型---布尔型& 字符串
python数据类型-----布尔型 真或假=>1或0 >>> 1==True True >>> 0==False True python 数据类型----- ...
- Python 数据类型及其用法
本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...
- day01-day04总结- Python 数据类型及其用法
Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- Python学习笔记(五)--Python数据类型-数字及字符串
Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...
- python数据类型之元组、字典、集合
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...
- 1 Python数据类型--
常见的Python数据类型: (1)数值类型:就是平时处理的数字(整数.浮点数) (2)序列类型:有一系列的对象并排或者排列的情况.如字符串(str),列表(list),元组(tuple)等 (3)集 ...
- Python数据类型和数据操作
python数据类型有:int,float,string,boolean类型.其中string类型是不可变变量,用string定义的变量称为不可变变量,该变量的值不能修改. 下面介绍python中的l ...
- Python数据类型(python3)
Python数据类型(python3) 基础数据类型 整型 <class 'int'> 带符号的,根据机器字长32位和64位表示的范围不相同,分别是: -2^31 - 2^31-1 和 - ...
- 二、Python数据类型(一)
一.Python的基本输入与输出语句 (一)输出语句 print() 示例: print('你好,Python') print(4+5) a = 10 print(a) 输出的内容可以是字符串,变量, ...
随机推荐
- matplotlib(一)——matplotlib横轴坐标密集字符覆盖
一.问题描述 具体问题是: 用python库matplotlib进行数据的图表展示: 图表展示图形横坐标有将近100个自定义值需要显示: 保存矢量图(svg),保存后发现横坐标过于密集,坐标值之间有覆 ...
- MySQL 如何生成日期表
MySQL 如何生成日期表 在开发过程中,经常会遇到统计问题,通常交易信息都不是连续的,此时,统计出来的数据都是不连续的,所以提前生成一个时期表,当没有交易数据的时候填充0,就可以了,下面是生成日期表 ...
- 关于web.xml配置中的<url-pattern>
标签<url-pattern> <url-pattern>是我们用Servlet做Web项目时需要经常配置的标签,例: <servlet><servlet-n ...
- 虚拟机中配置SQL SERVER2008R2远程访问
VM虚拟机中配置数据库访问 选择虚拟机设置--硬件--网络适配器,选择桥接模式:直接连接物理网络 不可选用主机模式(与主机共享专用网络) 数据库远程配置,转自:http://jingyan.baidu ...
- Computer HDU - 2196
Computer HDU - 2196 A school bought the first computer some time ago(so this computer's id is 1). Du ...
- [BZOJ3312][USACO]不找零(状压DP)
Description 约翰带着 N 头奶牛在超市买东西,现在他们正在排队付钱,排在第 i 个位置的奶牛需要支付 Ci元.今天说好所有东西都是约翰请客的,但直到付账的时候,约翰才意识到自己没带钱,身上 ...
- 【高精度】模板 (C++)
//n为长度 1.高精加 复杂度:O(n) #include<iostream> #include<cstring> #include<algorithm> usi ...
- P3387 【模板】缩点
题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只 ...
- ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT 的解决办法
今天接着写一个单片机程序,出现这个问题,我仔细查看每一句语句,发现逻辑上没有错误,但就是出现这个问题,不能生成目标文件: *** ERROR L107: ADDRESS SPACE OVERFLOW ...
- UVa 1649 Binomial coefficients 数学
题意: \(C(n, k) = m(2 \leq m \leq 10^{15})\),给出\(m\)求所有可能的\(n\)和\(k\). 分析: 设\(minK = min(k, n - k)\),容 ...