Tag: 字典的

Python基于磁盘的字典

我正在运行一些dynamic编程代码(试图蛮力反驳Collat​​z猜想= P),我正在使用一个字典来存储我已经计算的链的长度。 很明显,它在某个时候耗尽了内存。 是否有任何简单的方法来使用dict一些变种,当它的空间不足时,它将自己的部分页面分页到磁盘? 显然它会比内存中的字典慢,它可能最终会吃掉我的硬盘空间,但是这可能适用于其他问题并不那么徒劳。 我意识到一个基于磁盘的字典几乎是一个数据库,所以我手动实现一个使用sqlite3,但我没有以任何聪明的方式做,并一次查找数据库中的每个元素…这是慢了大约300倍。 最聪明的办法就是创build自己的一套词典,一次只保留一个词,然后用一些有效的方式把它们分开。

Python:元组/字典作为键,select,sorting

假设我有很多不同颜色的水果,例如24个蓝色香蕉,12个青苹果,0个蓝色草莓等等。 我想用Python中的数据结构来组织它们,以便于select和sorting。 我的想法是把它们放入一个以元组为键的字典中,例如, { ('banana', 'blue' ): 24, ('apple', 'green'): 12, ('strawberry','blue' ): 0, … } 甚至字典,例如, { {'fruit': 'banana', 'color': 'blue' }: 24, {'fruit': 'apple', 'color': 'green'}: 12, {'fruit': 'strawberry','color': 'blue' }: 0, … } 例如,我想检索所有蓝色水果或所有颜色的香蕉的清单,或者按照水果的名称对这本词典进行分类。 有没有办法以一个干净的方式做到这一点? 用元组作为关键字的字典可能不是处理这种情况的正确方法。 所有的build议欢迎!

Python字典到URL参数

我正在尝试将Python字典转换为string作为URL参数使用。 我确信有一个更好,更Pythonic这样做的方式。 它是什么? x = "" for key, val in {'a':'A', 'b':'B'}.items(): x += "%s=%s&" %(key,val) x = x[:-1]