小编Eci*_*ana的帖子

Python 3字节格式化

在Python 3中,可以格式化一个字符串,如:

"{0}, {1}, {2}".format(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

但是如何格式化字节?

b"{0}, {1}, {2}".format(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

加油AttributeError: 'bytes' object has no attribute 'format'.

如果没有format字节方法,如何格式化或"重写"字节?

python string-formatting python-3.x

44
推荐指数
5
解决办法
4万
查看次数

Python:从堆中删除元素

Python具有heapq实现堆数据结构的模块,它支持一些基本操作(push,pop).

如何从O(log n)中的堆中删除第i个元素?是否可以使用heapq或者我必须使用其他模块?

请注意,文档底部有一个示例:http: //docs.python.org/library/heapq.html ,它提出了一种可能的方法 - 这不是我想要的.我想要删除元素,而不仅仅是标记为删除.

python heap

38
推荐指数
2
解决办法
3万
查看次数

Python:在运行时动态创建函数

如何在Python中动态创建函数?

我在这里看到了一些答案,但我找不到一个可以描述最常见情况的答案.

考虑:

def a(x):
    return x + 1
Run Code Online (Sandbox Code Playgroud)

如何即时创建这样的功能?我需要compile('...', 'name', 'exec')吗?那么呢?从编译步骤创建一个虚函数并替换它的代码对象?

或者我应该使用types.FunctionType?怎么样?

我想自定义一切:参数的数量,它们的内容,函数体中的代码,结果,...

python runtime function

37
推荐指数
6
解决办法
4万
查看次数

Python中的可变字符串

请问,你知道一个提供可变字符串的Python库吗?谷歌的结果令人惊讶地回归.我找到的唯一可用的库是http://code.google.com/p/gapbuffer/,它在C中,但我更喜欢用纯Python编写.

编辑:感谢您的回复,但我正在追求一个高效的库.也就是说,''.join(list)可能有用,但我希望有更优化的东西.此外,它必须支持常规字符串常用的东西,如正则表达式和unicode.

python string mutable

34
推荐指数
3
解决办法
4万
查看次数

Python:bytearray与数组

array.array('B')和之间有什么区别bytearray

from array import array

a = array('B', 'abc')
b = bytearray('abc')

a[0] = 100
b[0] = 'd'

print a
print b
Run Code Online (Sandbox Code Playgroud)

有没有记忆或速度差异?每个人的首选用例是什么?

python bytearray

26
推荐指数
3
解决办法
3万
查看次数

雷三角交叉口

我看到经常推荐使用Moller和Trumbore的Fast Minimum Storage Ray/Triangle Intersection.

问题是,我不介意预先计算和存储任何数量的数据,只要它加速交叉点.

所以我的问题是,不关心记忆,做射线三角交叉的最快方法是什么?

编辑:我不会移动三角形,即它是一个静态场景.

algorithm graphics geometry rendering

20
推荐指数
2
解决办法
2万
查看次数

Weakref和__slots__

请考虑以下代码:

from weakref import ref

class Klass(object):
    # __slots__ = ['foo']
    def __init__(self):
        self.foo = 'bar'

k = Klass()
r = ref(k)
Run Code Online (Sandbox Code Playgroud)

它可以工作,但当我取消注释__slots__TypeError: "cannot create weak reference to 'Klass' object"在Python 2.6下打破.

请问,有没有人知道这是否是Python的固有限制,__slots__或者它是否是一个错误?如何解决它?

python weak-references

18
推荐指数
2
解决办法
2437
查看次数

快速解决子集和

考虑这种解决子集和问题的方法:

def subset_summing_to_zero (activities):
  subsets = {0: []}
  for (activity, cost) in activities.iteritems():
      old_subsets = subsets
      subsets = {}
      for (prev_sum, subset) in old_subsets.iteritems():
          subsets[prev_sum] = subset
          new_sum = prev_sum + cost
          new_subset = subset + [activity]
          if 0 == new_sum:
              new_subset.sort()
              return new_subset
          else:
              subsets[new_sum] = new_subset
  return []
Run Code Online (Sandbox Code Playgroud)

我从这里得到它:

http://news.ycombinator.com/item?id=2267392

还有一条评论说,有可能使其"更有效".

怎么样?

此外,还有其他方法可以解决问题,至少与上述方法一样快吗?

编辑

我对任何会导致加速的想法感兴趣.我发现:

https://en.wikipedia.org/wiki/Subset_sum_problem#cite_note-Pisinger09-2

提到线性时间算法.但我没有纸,也许你,亲爱的人,知道它是如何运作的吗?也许是一个实现?也许完全不同的方法?

编辑2

现在有一个跟进:
Pisinger快速解决子集和算法

algorithm subset-sum

16
推荐指数
3
解决办法
1万
查看次数

如何将压缩整数(16.16)定点转换为浮点数?

如何将"32位有符号定点数(16.16)"转换为浮点数?

是否(fixed >> 16) + (fixed & 0xffff) / 65536.0确定?-2.5怎么样?和-0.5?

还是fixed / 65536.0正确的方法?

(PS:无论如何,签名定点"-0.5"在内存中是怎样的?)

floating-point fixed-point

14
推荐指数
2
解决办法
2万
查看次数

什么是SAT以及它有什么用?

最近我看到一篇关于使用SAT解决难题的Reddit文章[1].这让我对这个"SAT"的事情非常好奇.我阅读了维基百科的文章,但我想请你们中的某些人以更多的外行术语为我解释.

什么是SAT,它有什么用?它可以用于遍历树结构吗?用于解析文本?换线[2]?对于垃圾箱包装[3]?这是一种优化技术吗?

在相关的说明中,我读到NP与P是关于选择哪个数字的集合为零而不是检查某些数字是否总和为零 - SAT是否与此相关?

[1] http://www.reddit.com/r/programming/comments/pxpzd/solving_hexiom_really_fast_with_a_sat_solver/

[2] http://en.wikipedia.org/wiki/Line_wrap

[3] http://en.wikipedia.org/wiki/Bin_packing_problem

theory algorithm solver

14
推荐指数
2
解决办法
7626
查看次数