0. 字典初始化

d = {‘a’:1,’b’:2}

或 d={}

d[‘a’] = 1

d[‘b’] = 2

是不是和json格式数据很相似,语法和JavaScript又很相似

1. 变量接受序列分解:

p = (3.14,8.23)

X,Y = p

print(x,y)

3.14,8.23

2. Collections.deque 固定长度队列。

>>> from collections import deque

>>> p = deque(maxlen = 2)

>>> p.append(3.14)

>>> p.append(8.23)

>>> p

deque([3.14, 8.23], maxlen=2)

3. heapq 最大值最小值。

>>> import heapq

>>> p = [3.14,8.23,7.10]

>>> heapq.nlargest(1,p)

[8.23]

>>> heapq.nsmallest(1,p)

[3.14]

5.找出两个字典相同键 和相同项

>>> from collections import OrderedDict

>>> d = {}

>>> d['a'] = 1

>>> d['c'] = 3

>>> d['b'] = 2

>>> dd = {}

>>> dd['a'] = 3

>>> dd['e'] = 5

>>> dd['b'] = 2

>>> d.keys() & dd.keys()

{'a', 'b'}

>>> d.items() & dd.items()

{('b', 2)}

6 去除数组或字典值重复的元素 set

>>> d ={1,1,2,2,3,3,4,5}

>>> set(d)

{1, 2, 3, 4, 5}

7 截取数组元素

>>> d = [1,1,2,2,3,3,4,5]

>>> d[2:4]

[2, 2]

>>> d[2:5]

[2, 2, 3]

8 统计元素出现次数Counter.most_common。

>>> d = [1,1,1,2,2,4,5]

>>> from collections import Counter

>>> master = Counter(d).most_common(2)

>>> print(master)

[(1, 3), (2, 2)]

4. collections.OrderedDict 有序字典

>>> from collections import OrderedDict

>>> d = OrderedDict()

>>> d['a'] = 1

>>> d['c'] = 3

>>> d['b'] = 2

>>> print(d)

OrderedDict([('a', 1), ('c', 3), ('b', 2)])

9.数组排序 operator.itemgetter

>>> from operator import itemgetter

>>> d = [2,1,5,4,3]

>>> sorted(d)

[1, 2, 3, 4, 5]

10.字典排序 sort

>>> from operator import itemgetter

>>> p = [{'x':'3','y':'3'},{'x':'4','y':'4'},{'x':'2','y':'2'},{'x':'1','y':'1'}]

>>> p.sort(key=itemgetter('x'))

>>> print(p)

[{'x': '1', 'y': '1'}, {'x': '2', 'y': '2'}, {'x': '3', 'y': '3'}, {'x': '4', 'y': '4'}]

11. lambda 表达式

>>> p = [{'x':'3','y':'3'},{'x':'4','y':'4'},{'x':'2','y':'2'},{'x':'1','y':'1'}]

>>> pLamb = [n['x'] > '2' for n in p]

>>> print(pLamb)

[True, True, False, False]

12 compress 与 11项 结合使用。

>>> from itertools import compress

>>> list(compress(p,pLamb))

[{'x': '3', 'y': '3'}, {'x': '4', 'y': '4'}]

13.逻辑上合并对象

>>> p = {'x':1,'y':2}

>>> p2 = {'y':3,'z':4}

>>> from collections import ChainMap

>>> c = ChainMap(p,p2)

>>> print(c)

ChainMap({'x': 1, 'y': 2}, {'y': 3, 'z': 4})

>>> list(c.keys())

['x', 'z', 'y']

python常用数据结构的更多相关文章

  1. python常用数据结构讲解

    一:序列     在数学上,序列是被排成一排的对象,而在python中,序列是最基本的数据结构.它的主要特征为拥有索引,每个索引的元素是可迭代对象.都可以进行索引,切片,加,乘,检查成员等操作.在py ...

  2. Python常用数据结构之collections模块

    Python数据结构常用模块:collections.heapq.operator.itertools collections collections是日常工作中的重点.高频模块,常用类型由: 计数器 ...

  3. Python常用数据结构之heapq模块

    Python数据结构常用模块:collections.heapq.operator.itertools heapq 堆是一种特殊的树形结构,通常我们所说的堆的数据结构指的是完全二叉树,并且根节点的值小 ...

  4. python常用数据结构(1)

    python中有四种最常用的数据结构,分别是列表(list),字典(dict),集合(set)和元组(tuple) 下面简单描述下它们的区别和联系 1.初始化 不得不说,python数据结构的初始化比 ...

  5. Python常用数据结构(列表)

    Python中常用的数据结构有序列(如列表,元组,字符串),映射(如字典)以及集合(set),是主要的三类容器 内容 序列的基本概念 列表的概念和用法 元组的概念和用法 字典的概念和用法 各类型之间的 ...

  6. python 常用数据结构使用

    python 字典操作 http://www.cnblogs.com/kaituorensheng/archive/2013/01/24/2875456.html python 字典排序 http:/ ...

  7. python常用数据结构的常用操作

    作为基础练习吧.列表LIST,元组TUPLE,集合SET,字符串STRING等等,显示,增删,合并... #===========List===================== shoplist ...

  8. python 常用数据结构

    #coding=utf- #元组,不可变序列(,) a=(,,,) print(a) a=tuple([,,,])#第二种定义方式 print(a) print(a[]) print(a[:]) #可 ...

  9. python常用数据结构(2)

    1.有名字的元组——namedtuple >>> from collections import namedtuple >>> Point = namedtuple ...

  10. 学Python常用数据结构之字典

    迄今为止,我们已经为大家介绍了Python中的三种容器型数据类型,但是这些数据类型还不足以帮助我们解决所有的问题.例如,我们要保存一个人的信息,包括姓名.年龄.体重.单位地址.家庭住址.本人手机号.紧 ...

随机推荐

  1. 【Spring】浅谈spring推荐构造器注入

    一.前言 ​ Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由S ...

  2. win10 UWP 显示地图

    微软自带的地图很简单 引用地图xmlns:Map="using:Windows.UI.Xaml.Controls.Maps" 写在<Page> 然后在Grid 用Map ...

  3. win10 uwp 按下等待按钮

    我们经常需要一个按钮,在按下时,后台执行Task,这时不能再次按下按钮. 我们使用自定义控件,首先新建一个类,我把它命名是ProgressButton 一个进度条按钮,也就是我们按下时发生进度条,完成 ...

  4. 2D特效和3D特效

    2D居中效果 div{ width: height: backgroundcolor: position:absolute; left:50%; top:50%; transform:translat ...

  5. WebService的简单运用添加删除

    WebService是一种跨编程语言和跨操作系统平台的远程调用技术,简单来说就是将数据存储到项目的文件夹下 .NET中基于DOM核心类 XmlDocument 表示一个XML文档 XmlNode表示X ...

  6. jzoj 5230 队伍统计(状压DP)

    Description 现在有n个人要排成一列,编号为1->n .但由于一些不明原因的关系,人与人之间可能存在一些矛盾关系,具体有m条矛盾关系(u,v),表示编号为u的人想要排在编号为v的人前面 ...

  7. C 其他一些

    1.联合,语法 union{成员1;成员2;} 联合间的成员共享同一个空间,也就是说,成员1赋值如果没有被清除,会体现在成员2上 2.位字段,结合结构体瓜分完整的类型存储空间,如 struct{ ; ...

  8. ASP.NET没有魔法——ASP.NET MVC使用Area开发一个管理模块

    之前的My Blog提供了列表的展示和文章显示功能,但是所有数据仍然只能通过数据库录入,为了完成最初的角色“作者”的用例,本章将介绍如何使用“Area”实现My Blog的管理功能. 根据功能分离代码 ...

  9. LeetCode 560. Subarray Sum Equals K (子数组之和等于K)

    Given an array of integers and an integer k, you need to find the total number of continuous subarra ...

  10. hibernate的session详解