在Google App Engine查询中使用IN操作限制为每个查询列表中有30个项目,因此我必须找到一种方法将列表分成多个列表,每个数组中最多包含30个项目,并查询每个子项数组。
我已经提出了一个小解决方案来做到这一点,但这非常不雅致,我不确定这是否是实现此目的的最佳方法。我是Python的新手,所以我想知道如何正确或更优雅地执行此操作?
我正在查询User.query(User.email IN emails)
max_length = 30
iter_count = len(emails) / max_length
for i in range(iter_count):
min = i * max_length
max = (i + 1) * max_length
if min > len(emails):
break
if max > len(emails):
max = len(emails)
current_array = emails[min:max]
# query this array
最佳答案
max_length = 30
for i in xrange(0, len(emails), max_length):
current_array = emails[i:i+max_length]
# query this array
关于python - 将Python列表分成较小的列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12966568/