小编use*_*037的帖子

距离近似?

我在2D网格上进行寻路.

我需要计算距离作为我的启发式算法之一.

此外,如果找不到完整路径,我需要返回最近的点.

计算到双精度的精确距离似乎是不必要的开销.有没有我可以使用的快速近似值,它仍然足够准确以满足我的需求?(在1的舍入精度内)

顺便说一句,路径长度通常只有5-30个节点,所以在最后使用更准确的功能是不值得的.

algorithm performance distance

8
推荐指数
1
解决办法
1162
查看次数

Python - 为字符串格式化运算符解压缩列表的简短方法?

不幸的是,*或**运算符的变化似乎不起作用:

lstData = [1,2,3,4]
str = 'The %s are %d, %d, %d, and %d' % ('numbers', *lstData)
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?

python string formatting tuples

7
推荐指数
1
解决办法
4704
查看次数

Python - 使用哪种数据结构?

我有一大堆数值数据,我需要按排序顺序前后排序,插入和移动值.我以前使用的是一个简单的数组.现在每个值都必须与一个id(一个唯一的int,只是为了骑行)链接.

我可以扩展数组类,还是需要使用元组列表?什么是我最好的选择?

python arrays

5
推荐指数
1
解决办法
168
查看次数

Python程序使用太多内存

我从Heapy得到了这些结果,但目前还不清楚它们究竟是什么意思.

 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0 262539  59 36961284  48  36961284  48 dict (no owner)
     1  65536  15 34340864  45  71302148  93 dict of myobj.Container
     2  65536  15  2097152   3  73399300  96 myobj.Container
Run Code Online (Sandbox Code Playgroud)

myobj是一个具有大约20个真/假值和20个数值的类(所有这些都可以存储在2个字节中).

我有一个256*256的数组.我真的不明白为什么他们消耗35或70 MB的内存.如果可能的话,我想把它降到10 MB以下.

对象内的大部分数据被组织成字典以便于访问.字典本身并没有改变,而且毫无意义.它们会导致很多开销吗?

使用按位运算符将所有数据打包成1个数字是否有益?我应该能够以32或64字节存储对象的整个数据.我希望编译器会像其他语言一样自动执行此类操作,但它似乎正好相反.

除了使用装饰器之外,该类无缘无故地继承了内置类型对象.这会导致很多开销吗?

同样好奇"dict(没有所有者)"意味着什么以及它消耗了另一半的内存.

编辑:sys.getsizeof(myobj.Container)确实报告了450个字节!疯了吧.我只使用字典,因为我需要根据索引访问数据.就我而言,编译器应该摆脱结构并直接访问值.有没有更好的方法呢?(我不认为列表是答案)

python memory optimization profiling

4
推荐指数
1
解决办法
2341
查看次数

Python进程间通信建议

我有2个python服务器彼此独立运行但共享相同的数据库.他们需要相互通信,了解何时对数据库进行了某些更改,以便其他服务器(如果正在运行)可以重新加载缓存的数据.

在两个这样的程序之间进行通信的最佳选择是什么?

我曾经想过使用套接字,但它似乎很多工作.每当另一个程序关闭时,任何一个程序都将轮询连接,或者它们都需要具有服务器/客户端功能.我查看了命名管道,但没有看到任何简单的便携式解决方案(需要在Windows和unix上运行).

python ipc

2
推荐指数
1
解决办法
1656
查看次数