我需要顺序地进行迭代,直到找到或最大化。 例如:
ds = [1,2,3,4,5,6,7,8,9]
tmp = 3 # start (variable)
max = 5 # maximize (variable)
target = 8
so输出:[4,5,6,7,8] 抱歉,我的英语不好。
答案 0 :(得分:1)
作为一种非常简单的方法,您可以为具有相同列表的串联建立索引。
但是,从内存角度来看,肯定不是最佳解决方案。
# ds = [1,2,3,4,5,6,7,8,9]
start = 4
length = 7
res = (ds + ds)[start:start+length]
# [5, 6, 7, 8, 9, 1, 2]
答案 1 :(得分:0)
尝试:
both are from same file
one for size
success: "<div class='form-group'><label for='size'>Size</label><select class='form-control' id='size' name='size'><option value=''>Select</option><option value='1'>Xl</option><option value='2'>Medium</option><option value='3'>Small</option></select></div><div class='form-group'><label for='size_price'>Size Price</label><input type='text' class='form-control' name='size_price' placeholder='If this size has different price add here' id='size_price'></div>"
2nd for color
but it is repeating size request
{"success":"<div class='form-group'><label for='size'>Size<\/label><select class='form-control' id='size' name='size'><option value=''>Select<\/option><option value='1'>Xl<\/option><option value='2'>Medium<\/option><option value='3'>Small<\/option><\/select><\/div><div class='form-group'><label for='size_price'>Size Price<\/label><input type='text' class='form-control' name='size_price' placeholder='If this size has different price add here' id='size_price'><\/div>"}{"error":{"color_name1":"Color name must be required"}}
现在->>> ds
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> (ds * ((5+6)//len(ds) + 1))[5:5+6]
[6, 7, 8, 9, 1, 2]
是您的开始位置5
是您的结束位置。您要遍历整个数据集,以包含结束位置的次数进行多次,因此:
5+6
如果您的起始位置是第二个或以后的重复(如果是((5+6)//len(ds) + 1)
,则为您的起始位置。您可以通过减去以下方法将其移回:
> 8
从开始位置和结束位置开始。
答案 2 :(得分:0)
有一种内置方法。
new_data = i[starting_index : ending_index]
如果要获取列表的其余部分,可以将数字留空。喜欢:
>>>i = [0,8,9,4]
>>>i[1:]
[8,9,4]
答案 3 :(得分:0)
请参阅此解决方案,我使用了for循环来达到您的目标
webpack 3