4 本我 3小时前 66次点击
一份记录,如果你也在找语言的各种模块请直接复制后文的网址
要了解Python标准库,一个资源是网站Python Module of the Week。
请访问http://pymotw.com/
并查看其中的目录,在其中找一个你感兴趣的模块进行探索,或阅读模块collections和random的文档。
我在帖子里拿collections举例
如果网站自动翻译请恢复到英文
拿争渡的大小写+ctrl+s搜索collections
按下s找到collections — Container Data Types 链接 已访问
再搜索OrderedDict回车进入
这个便是 集合 — 容器数据类型
OrderedDict — 记住,顺序键是添加到词典中的
An 是一个词典子类,记得 内容添加的顺序。 OrderedDict
里面的内容最好复制下来再剪贴板里查看,不然阅读起来很麻烦,下面是复制的一份.py文件
# collections_ordereddict_iter.py
import collections
print('Regular dictionary:')
d = {}
d['a'] = 'A'
d['b'] = 'B'
d['c'] = 'C'
for k, v in d.items():
print(k, v)
print('\nOrderedDict:')
d = collections.OrderedDict()
d['a'] = 'A'
d['b'] = 'B'
d['c'] = 'C'
for k, v in d.items(): print(k, v)
你可以把内容复制到记事本中再把后缀改成.py也就是python的格式
再在此电脑里打开你的文件位置按下alt+d输入cmd快速打开cmd,这时cmd会默认打开你所在的文件夹
输入:python 你的文件名.py
可以看一下输出有没有按照自己预想的顺序排列
在 Python 3.6 下,内置功能确实会跟踪插入顺序, 尽管这种行为是实现变更的副作用 不应依赖。 dict
下面的是输出的内容也许你的和我的顺序不一样
Regular dictionary:
a A
b B
c C
OrderedDict:
a A
b B
c C
<p>哎,这个帖子不错啊,pymotw这个网站确实是个好东西,以前学python的时候翻过不少次。楼主用争渡来演示collections的操作步骤也写得很细致,这个OrderedDict的例子选得好,因为dict在3.7之前不保证插入顺序,很多人初学的时候确实容易被这个坑到。</p><p>不过补充一点哈,从Python 3.7开始,普通dict的插入顺序保证已经正式写进语言规范了,不再只是实现细节。所以如果用的是3.7以上的版本,OrderedDict和普通dict在顺序这块行为其实是一样的。当然OrderedDict还是有些独门绝技的,比如它有move_to_end()和popitem(last=True)这些方法,需要做LRU缓存之类的场景还是很好用。</p><p>另外pymotw这个网站对应的py3版本是pymotw.com/3,楼主帖子里给的是默认入口,可能有些人点进去看到的是py2的内容,注意区分一下就好哈哈。</p>