Day1_collections库学习

 1 # encoding:utf-8
 2 #
 3 """ @version:1.0
 4     @author Heng
 5     @time: 6/24/2016 4:52 PM
 6
 7 """
 8
 9 ‘‘‘
10     collections 是python内建的集合模块
11
12     学习一些常用的函数
13 ‘‘‘
14 # namedtuple  用于创建一个自定义的tuple对象
15
16 from collections import namedtuple
17
18 # 定义一个2维坐标
19 Point = namedtuple(‘Point‘, [‘x‘, ‘y‘])
20 p = Point(1, 3)
21 print p.x, p.y
22 # result 1 3
23 # 定义一个圆
24 # namedtuple(‘名称‘, [属性list]):
25 Circle = namedtuple(‘circle‘, [‘x‘, ‘y‘, ‘r‘])
26 c = Circle(1, 1, 3)
27 print c.x, c.y, c.r
28 # result 1  1 3
29
30
31 # deque 提高插入与删除操作的list,适用于队列和栈
32
33 from collections import deque
34
35 q = deque(range(10))
36 q.append(‘x‘)
37 q.appendleft(‘x1‘)
38 print q
39 # result deque([‘x1‘, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ‘x‘])
40
41
42 # defaultdict  与dict一样,解决key 不存在时的情况,返回一个默认值
43
44 from collections import defaultdict
45
46 dd = defaultdict(lambda: ‘key not found‘)
47 print dd[‘key‘]
48
49 # result key not found
50
51 # Counter  一个计数器
52
53 from collections import Counter
54
55 c = Counter()
56 for char in "my name is niu,what‘s your name":
57     c[char] = c[char] + 1
58 print c
59
60 # result 统计出字符出现的个数
61 # Counter({‘ ‘: 5, ‘a‘: 3, ‘m‘: 3, ‘n‘: 3, ‘e‘: 2, ‘i‘: 2, ‘s‘: 2, ‘u‘: 2, ‘y‘: 2, "‘": 1, ‘h‘: 1, ‘,‘: 1, ‘o‘: 1, ‘r‘: 1, ‘t‘: 1, ‘w‘: 1})
62
63 # OrderedDict  一个有序的dict功能
64
65 from collections import OrderedDict
66
67 d = {‘a‘: 1, ‘b‘: 2, ‘c‘: 3, ‘d‘: 4, ‘‘: 5}
68 print d  # result{‘a‘: 1, ‘c‘: 3, ‘b‘: 2, ‘e‘: 5, ‘d‘: 4} 默认dict是无序的集合
69
70 b = OrderedDict(d)
71 print b
72
73 #result          {‘a‘: 1, ‘‘: 5, ‘c‘: 3, ‘b‘: 2, ‘d‘: 4}
74 #     OrderedDict([(‘a‘, 1), (‘‘, 5), (‘c‘, 3), (‘b‘, 2), (‘d‘, 4)])
时间: 2024-10-14 06:21:57

Day1_collections库学习的相关文章

【python标准库学习】thread,threading(二)多线程同步

继上一篇介绍了python的多线程和基本用法.也说到了python中多线程中的同步锁,这篇就来看看python中的多线程同步问题. 有时候很多个线程同时对一个资源进行修改,这个时候就容易发生错误,看看这个最简单的程序: import thread, time count = 0 def addCount(): global count for i in range(100000): count += 1 for i in range(10): thread.start_new_thread(ad

【python标准库学习】thread,threading(一)多线程的介绍和使用

在单个程序中我们经常用多线程来处理不同的工作,尤其是有的工作需要等,那么我们会新建一个线程去等然后执行某些操作,当做完事后线程退出被回收.当一个程序运行时,就会有一个进程被系统所创建,同时也会有一个线程运行,这个线程就是主线程main,在主线程中所创建的新的线程都是子线程,子线程通常都是做一些辅助的事.python中提供了thread和threading两个模块来支持多线程. python中使用线程有两种方式,第一种是用thread模块的start_new_thread函数,另一种是用threa

0806------Linux网络编程----------Echo 网络库 学习笔记

1.Echo网络库的编写 1.1 Echo网络库1.0 1.1.1 Echo网络库 1.0 框架分析 a)class InetAddress: 主要用来定义一个struct sockaddr_in 结构(用自定义端口号初始化),并提供获取这个结构体成员如IP.Port等的接口: b)class Socket : 主要用来把一个普通的 sockfd 变为 listenfd(这里用一个sockfd初始化对象),提供bind .listen.accept 等接口. c)class TcpConnect

c++ boost库学习三:实用工具

noncopyable 大家都知道定义一个空类的时候,它实际包含了构造函数,拷贝构造函数,赋值操作符和析构函数等. 这样就很容易产生一个问题,就是当用户调用A a(“^_^") 或者A c="^_^" 时会发生一些意想不到的行为,所以很多时候我们需要禁用这样的用法. 一种方法就是把拷贝构造函数和赋值操作符显式的定义为private,但是这样需要很多代码. 于是boost库为大家提供了一个简单的方法:只需要将类继承于noncopyable就可以了. #include "

C++标准模板库学习。。。

作为C++标准库相当重要的一部分,STL库提供一系列组件操作.它主要可以分为容器.迭代器.基本算法.函数对象以及内存分配器和配接器六个部分.整个STL库的代码都采用模板函数以及模板类的方式实现,具有高度的通用性.对于传统的应用程序来讲,模板库支持并且倡导一种新的编程风格,即称为泛型编程思想,以通用的模板方式来编写应用程序中的数据结构与算法. 16.1  STL常见容器 C++标准STL库中封装实现了常见数据结构,并以容器的方式提供给用户使用.STL容器主要包含vector向量.deque队列.l

python第三方库学习之xlrd读取Excel文件

因为经常会涉及到从Excel表中导数据,所以就学习了python的xlrd来读取excel中的数据. 1.xlrd的安装 xlrd是python的第三方库,所以是需要自己安装的,可以在python的官网http://pypi.python.org/pypi/xlrd下载该模块来安装,也可以通过其他手段,比如easy_install或者pip啥的,我已经安装好pip所以就用最懒的方式来安装了pip install xlrd来安装. 2.分析excel文件的层级对象 要读取excel的数据,就要了解

2 C++ ACE 面向对象跨平台网络库学习

2   C++ ACE  面向对象跨平台网络库学习  ACE I/O相关对象 阻塞式 TCP连接Linux Kernel网站服务器的443端口 非阻塞模式 TCP连接百度服务器 设置 TCP连接超时: ACE 客户端 TCP模式.请求HTTP 一个简单的 TCP HTTP server HTTP server 代码 创建网页文件 浏览器测试访问结果 ACE UDP通信单播测试: UDP 单播 服务器端: UDP 单播 客户端: ACE UDP 多播实验: UDP 多播 发送端程序: UDP 多播

python标准库学习-random

想想这么多年,也是没有好好梳理一下自己的知识体系,以至于总是会有书到用时方恨少的遗憾. 最近既然有学习的动力,干脆就趁着这份工作不是特别忙的机会,写一点东西吧,也理理自己的逻辑思维能力. python有哪些库? 这个问题呢可以参照http://blog.csdn.net/python_wangjunji/article/details/8689297这篇博文来看. 当然咯,首先要先推荐一个可厉害的学习程序:Dash.学编程必备查询库,各种语言,专治"我要看源码病". 那第一篇呢,我就先

Guava库学习:学习Guava EventBus(二)EventBus 事件订阅示例

原文地址:Guava库学习:学习Guava EventBus(二)EventBus 事件订阅示例 上一篇Guava库学习:学习Guava EventBus(一)EventBus,我们简单的对Guava基于事件的编程进行了介绍,学习和了解了EventBus类的使用,本篇起,我们通过一系列的示例代码深入的学习EventBus类,本篇学习Guava EventBus(二)EventBus 事件订阅示例.     订阅Subscribe 首先,我们假定定义了如下所示的TradeAccountEvent类