字典 (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. linux 基本指令 归类

    今天 我们来学习一下 最最基础的linux 指令,在我看来 linux的操作就是 增 删 改 查 这四个字. 1 查询 操作用户 woami 2查询登录用户 who am i 2 pwd //查询当前 ...

  2. [BZOJ3684][拉格朗日反演+多项式求幂]大朋友和多叉树

    题面 Description 我们的大朋友很喜欢计算机科学,而且尤其喜欢多叉树.对于一棵带有正整数点权的有根多叉树,如果它满足这样的性质,我们的大朋友就会将其称作神犇的:点权为\(1\)的结点是叶子结 ...

  3. java十分钟速懂知识点——NIO

    一.引子 nio是java的IO框架里边十分重要的一部分内容,其最核心的就是提供了非阻塞IO的处理方式,最典型的应用场景就是处理网络连接.很多同学提起nio都能说起一二,但是细究其背后的原理.思想往往 ...

  4. Redis实现之链表

    链表 链表提供了高效的节点重排能力,以及顺序性的节点访问顺序,并且可以通过增删节点来灵活地调整链表的长度.作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为Redis使用的C语言并没有内置这 ...

  5. Python虚拟机类机制之descriptor(三)

    从slot到descriptor 在Python虚拟机类机制之填充tp_dict(二)这一章的末尾,我们介绍了slot,slot包含了很多关于一个操作的信息,但是很可惜,在tp_dict中,与__ge ...

  6. 基础_String

    String str1="hello"; String str2="hello"; String str3="hello"; String ...

  7. Group Policy Object Editor

    Group Policy Object Editor   The Group Policy Object Editor is a tool that hosts MMC extension snap- ...

  8. 【Set Matrix Zeros】cpp

    题目: Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. cl ...

  9. 【NOIP 2012】借教室

    题目 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然希望 ...

  10. 引用其他头文件时出现这种错误,莫名其妙,error C2065: “ColorMatrix”: 未声明的标识符

    今天做项目时,直接拷贝了另一个工程里的头文件和源文件,然后运行时就出现这种问题,莫名其妙,在原程序里运行一点问题就没有,但是在新工程里就是error. >e:\c++\button_fly2\b ...