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. ABAP 动态内表 动态ALV

    DATA: DY_TABLE TYPE REF TO DATA, DY_WA TYPE REF TO DATA. FIELD-SYMBOLS: <DYN_TABLE> TYPE TABLE ...

  2. C#同步方法转异步

    public async Task DelayAsync() { await Task.Run(()=>Delay()); } private void Delay() { } 本作品采用知识共 ...

  3. Akka(29): Http:Server-Side-Api,Low-Level-Api

    Akka-http针对Connection的两头都提供了方便编程的Api,分别是Server-Side-Api和Client-Side-Api.通过这两个Api可以大大提高编程效率.当然,上期我们提到 ...

  4. fedora 19 gnome 3.8 关闭笔记本盖子的动作

    gnome-tweak-tool里没有了相关选项,但是又想让关闭盖子不挂起,后来看看才知道gnome3.8不再提供这功能,而是交给systemd来处理,所以估计用dconf-edit在gnome的po ...

  5. require.js实现js模块化编程(二):RequireJS Optimizer

    require.js实现js模块化编程(二):RequireJS Optimizer 这一节,我们主要学习一下require.js所提供的一个优化工具r.js的用法. 1.认识RequireJS Op ...

  6. 如何阻止sql注入(pdo篇)

    Use prepared statements and parameterized queries. These are SQL statements that are sent to and par ...

  7. 扩展 lua require 的行为

    扩展 lua require 的行为 来源 https://blog.codingnow.com/2015/10/lua_require_env.html 今天同事提了个需求,他希望可以给部分 lua ...

  8. 初入红尘——在安联IT实习的一点感受(未完......)

    文章很短,只有800字. 从踏进安联的大门开始,我便入了红尘. 安联的迎客之道 “花径不曾缘客扫,蓬门今始为君开.”我的第一个贵人就是前台的美君姐.由于路况不熟,所以我没把握好时间,到的时候比约定的面 ...

  9. IOS学习——iphone X的适配

    说实话,对于一个刚入门iOS两个月的新手而言,在拿到这个任务的时候整个人都是懵逼的,怎么做适配?哪些地方需要适配?该怎么做?一个个问题搞得头都大了. 首先,啥都不管,先在iPhone X上运行起来看看 ...

  10. AngularJS学习篇(八)

    AngularJS 服务(Service) 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. AngularJS 内建了30 多个服务. 为什么使用服务? ...