【Boost Python:将大型数据结构传递给python】教程文章相关的互联网学习教程文章

是否有一个python数据结构:键控,有序和可通过键和顺序寻址?【代码】

我正在寻找一个混合了OrderedDict但也可以通过整数寻址的数据结构,具体取决于添加元素的时间. 即config_key = OrderedDict([('Version_Number', 'a'),('Hardware_Config', 'b'),('Size_Of_Data', 'c'),('Checksum', 'd')])这将起到如下作用:>> print config_key['Version_Number'] a >> print config_key[0] a >> print config_key['Size_Of_Data'] c >> print config_key[2] c >> for x in config_key: >> print x Version_Numb...

是否有可以排序和搜索的Python数据结构?

我正在使用python来管理要处理的字符串队列.它有几个要求: >每个字符串都与优先级匹配,并且仅根据该值进行处理.>可以动态地将字符串添加到此队列,但队列中不允许重复的字符串.如果提交了副本,则必须标识并忽略它. 那么是否有任何python数据类型允许这样的东西?或者我必须自己写? 如果那时没有本土的那个,我正在考虑维护两个结构. > A heapq将保持字符串及其优先级> A list,它维护字符串的散列以检查字符串是否已存储 只要这些不...

Python:合并两个任意数据结构【代码】

我希望有效地合并两个(相当任意的)数据结构:一个表示一组默认值,另一个表示覆盖.以下示例数据. (天真地对结构进行迭代工作,但速度非常慢.)关于处理此案例的最佳方法的想法?_DEFAULT = { A: 1122, B: 1133, C: [ 9988, { E: [ { F: 6666, }, ], }, ], }_OVERRIDE1 = { B: 1234, C: [ 9876, { D: 2345, E: [ { F: 6789, G: 9876, }, 1357, ], }, ], } _ANSWER1 = { A: 1122, B: 1234, ...

Python—使用列表构造栈数据结构【代码】

class Stack(object):"""使用列表实现栈"""def __init__(self):self.stack = []def push(self, element):"""添加元素进栈:param element::return:"""self.stack.append(element)def pop(self):"""从栈取出元素:return:"""return self.stack.pop()def get_top(self):"""获取栈顶的元素:return:"""if len(self.stack) > 0:return self.stack[-1]else:returnstack = Stack() stack.push(1) stack.push(2) stack.push(3) print(stack.s...

在python中解析未知的数据结构【代码】

我有一个包含大量数据的文件,其格式类似于:Group1 { Entry1 { Title1 [{Data1:Member1, Data2:Member2}] Title2 [{Data3:Member3, Data4:Member4}] } Entry2 { ... } } Group2 {DifferentEntry1 {DiffTitle1 {...}} }事实是,我不知道有多少层括号,以及数据的结构.我需要修改数据,并在将所有内容写入新文件之前,根据涉及数据成员的条件删除整个“条目”.在这样的文件中阅读的最佳方式是什么?谢谢!解决方法:我有类似的东...

用于稀疏x / y坐标列表的Python数据结构【代码】

考虑x / y坐标列表和字节’计数’. x / y的范围可能是0到5000,即2500万个单元. 然而,数据将非常稀少,最多只有几千个条目,大多数坐标将没有条目. 偶尔会查找/添加该结构(例如,如果x = 5且y = 10则存在),但更频繁地转换为x / y / count列表(排序并不重要) 用于查找的最快数据结构显然是一个二维数组,但是你正在查看大约24 MB的内存,并且输出列表的迭代可能很昂贵.对于磁盘存储,您可以实现gif样式压缩,其中0字节后跟另一个字节表示x空...

Python数据结构开销/性能

在Python中使用字典而不是元组是否有任何性能优势? 如果我正在优化速度,是否有理由更喜欢一个而不是另一个?解决方法:丰富, 列表和dicts是适合不同需求的野兽.确保你不使用列表进行线性搜索,其中dicts哈希是完美的,因为它的速度较慢.此外,如果您只需要遍历的元素列表,请不要使用dicts,因为它将占用比列表更多的空间. 这可能听起来很明显,但是通过算法选择正确的数据结构可以获得更高的性能,因为更高效的编译代码布局等可以实现微优...

python – 需要一个适当的数据结构或索引,以便根据3d点和重要性因素进行快速用户查找【代码】

我有大量的3D点与重要性因素配对. 每个用户有六分.例如:查理人有6分:(22,44,55)是他的第一个重要因子为3分,(10,0,0)是他的第二个向量,重要因子为2.8,一直到他的第六点是(100,300,200),重要性因子为0.4. 我想做的是找到与查理最相似的人,而不是遍历每一个人.基本上为每个用户最小化此功能(即,将该用户的正确六点与Charlie匹配):pythagoras(point, point2) * max(importance_factor, importance_factor2) * (abs(importance_facto...

2D网格的Python数据结构建议【代码】

我希望在Python中实现一个蚁群优化算法,虽然它是Python和面向对象编程的新手,所以学习曲线相当陡峭.在这一点上,我被困在如何解决以下情况: >当蚂蚁在2D网格中走动时,它们会遇到障碍物,其他蚂蚁的信息素沉积物,食物等.我用什么数据结构来表示这个2D世界以及每个细胞的上述属性? 我曾尝试过2D数组,认为数组[x-coord] [y-coord]可以指向具有适当属性的{}(字典)(障碍:’是/’否’,信息素等级:X%等等).不幸的是,尽管NumPy允许我创建...

Python:比较unittest中的嵌套数据结构【代码】

有没有办法在unittest中比较嵌套数据结构但忽略具体类型的对象,例如assertSequenceEqual但是递归,例如:#!/usr/bin/env pythonimport unittestclass DeepCompareTestCase(unittest.TestCase):def test_compare(self):# this test failsself.assertSequenceEqual([['abc', 'def']],(('abc', 'def'),))unittest.main()(像Perl中的Test :: Deep)解决方法:会这样的吗?import unittest from itertools import zip_longestclass Recursi...

python算法与数据结构-栈(43)【代码】【图】

一、栈的介绍栈作为一种数据结构,是一种只能在一端进行插入和删除操作。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈被使用于非常多的地方,例如浏览器中的后退按钮,文本编辑器中的撤销机制。进栈的时候是1先进,然后是2、3、4、5、6,出栈的时候是先6出,然后是5、4、3、2、1 二、栈中常用的方法 作为一个栈(用stack来表示...

python算法与数据结构-什么是数据结构【图】

一、什么是数据结构 数据结构,直白地理解,就是研究数据的存储方式。我们知道,数据存储只有一个目的,即为了方便后期对数据的再利用,就如同我们使用数组存储 {1,2,3,4,5} 是为了后期取得它们的值,因此,数据在计算机存储空间的存放,决不是胡乱的,这就要求我们选择一种好的方式来存储数据,而这也是数据结构的核心内容例如,要存储这样一组数据:{张三,张四,张五,张六,张七},数据之间具有这样的关系:张三是张四、张五的...

Python:动态区间数据结构【代码】

我正在寻找一些python代码来有效地计算间隔重叠.我之前使用过bx-python包的区间树,但现在需要从树中删除区间(或者更好,修改它们).看来bx-python树不支持这个. 有什么指针吗?解决方法:banyan支持从树中删除间隔.例如,要从间隔列表中删除最小数量的间隔,使得剩余的间隔在O(n log n)中不重叠,可以使用banyan.SortedSet(增强的红黑树):from banyan import SortedSet, OverlappingIntervalsUpdator # pip install banyandef maximize_...

python – 你会称之为允许持久操作的非持久数据结构?【代码】

我有一个基本上可变的类,但允许一些“持久性”操作.例如,我可以像这样改变对象(在Python中):# create an object with y equal to 3 and z equal to "foobar" x = MyDataStructure(y = 3, z = "foobar") x.y = 4但是,代替以这种方式做事,有几种方法可以复制然后改变它:x = MyDataStructure(y=3, z="foobar") # a is just like x, but with y equal to 4. a = x.using(y = 4)这使得x的副本具有不同的值.显然,这不符合wikipedia给出...

python – 深层嵌套字典/地图情况所需的替代数据结构【代码】

数据的一些背景:正在播放一些不同的游戏,每个游戏都有许多玩家.每场比赛由多轮组成,每轮比赛中,每位参与者都会采取行动.我在这里要做的是在内存中构建一个数据结构,用于存储玩家在所有正在玩的游戏中所采取的各个动作的完整历史记录. 一个明显的结构是深度嵌套的字典/散列映射,其中每个game_id映射到多个player_id,每个player_id映射到不同的round_number,每个round_number映射到一个动作. 换句话说,game_id:player_id:round_nu...