字典 (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的更多相关文章

  1. python 数据类型---布尔型& 字符串

    python数据类型-----布尔型 真或假=>1或0 >>> 1==True True >>> 0==False True python 数据类型----- ...

  2. Python 数据类型及其用法

    本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...

  3. day01-day04总结- Python 数据类型及其用法

    Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...

  4. Python数据类型及其方法详解

    Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...

  5. Python学习笔记(五)--Python数据类型-数字及字符串

    Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...

  6. python数据类型之元组、字典、集合

    python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...

  7. 1 Python数据类型--

    常见的Python数据类型: (1)数值类型:就是平时处理的数字(整数.浮点数) (2)序列类型:有一系列的对象并排或者排列的情况.如字符串(str),列表(list),元组(tuple)等 (3)集 ...

  8. Python数据类型和数据操作

    python数据类型有:int,float,string,boolean类型.其中string类型是不可变变量,用string定义的变量称为不可变变量,该变量的值不能修改. 下面介绍python中的l ...

  9. Python数据类型(python3)

    Python数据类型(python3) 基础数据类型 整型 <class 'int'> 带符号的,根据机器字长32位和64位表示的范围不相同,分别是: -2^31 - 2^31-1 和 - ...

  10. 二、Python数据类型(一)

    一.Python的基本输入与输出语句 (一)输出语句 print() 示例: print('你好,Python') print(4+5) a = 10 print(a) 输出的内容可以是字符串,变量, ...

随机推荐

  1. 科学计算库Numpy——运算

    np.multiply(array1,array2) 该函数用于数组中对应位置上的数相乘. 一维向量 二维数组 np.dot(array1,array2) 两个数组都是一维向量 数组中对应位置上的数相 ...

  2. Flask初学者:session操作

    cookie:是一种保存数据的格式,也可以看成是保存数据的一个“盒子”,服务器返回cookie给浏览器(由服务器产生),由浏览器保存在本地,下次再访问此服务器时浏览器就会自动将此cookie一起发送给 ...

  3. 各种友(e)善(xin)数论总集(未完待续),从入门到绝望

    目录 快速幂 扩展欧几里得 GCD 扩展欧几里得 同余系列 同余方程 同余方程组 一点想法 高次同余方程 BSGS exBSGS 线性筛素数 埃式筛 欧拉筛 欧拉函数 讲解 两道水题 法雷级数 可见点 ...

  4. LightOJ 1141 Number Transformation

    Number Transformation In this problem, you are given an integer number s. You can transform any inte ...

  5. Android拨打电话不弹出系统拨号界面总结

    我在网上搜了一下,解决这个问题,有两种方式: 1.反射调用系统底层方法,并获取系统权限 反射调用的代码如下: Class phoneFactoryClass = Class.forName(" ...

  6. activity切换交互动画

    activity切换的时候,想要有动画,那么... 1.想要有效果的activity设置theme <activity android:name=".MainActivity" ...

  7. Python中*和**的区别

    Python中,(*)会把接收到的参数形成一个元组,而(**)则会把接收到的参数存入一个字典 我们可以看到,foo方法可以接收任意长度的参数,并把它们存入一个元组中 >>> def ...

  8. loj2052 「HNOI2016」矿区

    学习一发平面图的姿势--ref #include <algorithm> #include <iostream> #include <cstdio> #includ ...

  9. IOS开发学习笔记042-UITableView总结2

    一.自定义非等高的cell         如常见的微博界面,有的微博只有文字,有的有文字和图片.这些微博的高度不固定需要重新计算. 这里简单说一下几种方法.前面的步骤和设置等高的cell一样.现在来 ...

  10. windows批处理 打开exe后关闭cmd

    start "" "程序路径.exe"    这样调用就OK啦.如: start "" "D:\123.exe" 如果下 ...