# Python的数据结构整理

1.collections.OrderedDict

importcollections

d=collections.OrderedDict(a=1,b=2)

d

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

d['c']=3

d

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

2.collections.defaultdict

d=collections.defaultdict(list)

d['a'].append(1)

d

Out[12]: defaultdict(list, {'a': [1]})

3.collections.ChainMap

a={'a':1}

b={'b':2}

chain=collections.ChainMap(a,b)

chain['a']

Out[17]: 1

4. types.MappingProxyType

writable = {'a':1}

import types

Out[21]: 1

Traceback (most recent call last):

File"<ipython-input-22-5f97afe708c4>", line 1, in <module>

TypeError: 'mappingproxy' object does not support item assignment

writable['b']=2

Out[24]: 2

1.list

A=[1,2,3]

2.tuple

A=(1,2,3)

3.array.array

import array

arr = array.array('f', (1,2,3))

arr

Out[27]: array('f', [1.0, 2.0, 3.0])

4.str

5.bytes

arr=bytes((0,1,))

arr

Out[29]: b'\x00\x01'

6.bytearray

arr=bytearray((0,1,))

arr

Out[31]: bytearray(b'\x00\x01')

7.collections.namedtuple

tuple1 = collections.namedtuple('test','ab')(1,2)

tuple1

Out[34]: test(a=1, b=2)

1.set

A={1,2,3}

2.frozenset

a=frozenset({1,2,3})

3.collections.Counter

a=collections.Counter()

a.update({'a':2})

a

Out[43]: Counter({'a': 2})

a.update({'a':1,'b':2})

a

Out[45]: Counter({'a': 3, 'b': 2})

1.collections.deque

a=collections.deque()

a.append('a')

a.append('b')

a.pop()

Out[49]: 'b'

2.queue.LifoQueue

import queue

a=queue.LifoQueue()

a.put('a')

a.put('b')

a.get('a')

Out[54]: 'b'

1.queue.Queue

a=queue.Queue()

a.put('a')

a.put('b')

a.get()

Out[61]: 'a'

2. multiprocessing.Queue

import multiprocessing

a=multiprocessing.Queue()

a.put('a')

a.put('b')

a.get()

Out[66]: 'a'

1.heapq

import heapq

q=[]

heapq.heappush(q,(2,'b'))

heapq.heappush(q,(1,'a'))

heapq.heappush(q,(3,'c'))

while q:

print(heapq.heappop(q))

(1, 'a')

(2, 'b')

(3, 'c')

2. queue.PriorityQueue

q=queue.PriorityQueue()

q.put((2,'b'))

q.put((1,'a'))

q.put((3,'c'))

while not q.empty():

print(q.get())

(1, 'a')

(2, 'b')

(3, 'c')

241 篇文章31 人订阅

0 条评论

## 相关文章

2.5K5

2024

### javascript（三）：对象

对象（object）是javascript中很重要的数据类型。对象是“键值对”的集合，同时也是无序的。（注意：对象结尾处有分号） 1 var ob1={ ...

19810

### Java中的字符串常量池

Java中字符串对象创建有两种形式，一种为字面量形式，如String str = "droid";，另一种就是使用new这种标准的构造对象的方法，如String...

1522

4746

2597

1054

980

### C++ primer里的template用法

template 的用法     在程序设计当中经常会出现使用同种数据结构的不同实例的情况。例如:在一个程序中     可以使用多个队列、树、图等结构来组织数据...

2185

1101