假设我想将一些数据分为60个字符,并将其存储在哈希中。我有以下解决方案,但对我来说似乎有点脏:(由于迭代和不断重新分配)

i = 0
while signature != '':
   header_hash['Some-Authorization-' + i] = signature[:60]
   signature = signature[60:]
   i += 1


您能提出一种更好的方法来处理此问题吗?

最佳答案

尽管与how to evenly split a list into chunks非常相似,但我认为这仍然是一个有效的问题,但将包含对先前问题的部分答案:

def hashing(header_hash, signature, hash_size):
     for index, i in enumerate(xrange(len(signature), hash_size)):
          header_hash['Some-Authorization-%s' % index] = signature[i:i+hash_size]


这就是我的答案,查看itertools函数,前提是我怀疑在分组后重新加入它们会否定使用itertools的任何好处。

关于python - 优雅的数据分块方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8409782/

10-11 20:41