假设我想将一些数据拆分成60个字符的部分并将它们存储在哈希中。我有以下解决方案,但对我来说似乎有点脏:(因为迭代和不断重新分配)
i = 0
while signature != '':
header_hash['Some-Authorization-' + i] = signature[:60]
signature = signature[60:]
i += 1
你能想出一个更好的处理方法吗?
答案 0 :(得分:3)
虽然与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的任何好处。