需求如下:
有数组 names=["a","b","c"]
需要遍历数组元素n次,比如:
n=2时,期待的输出为:a,b
n=5时,期待的输出为:a,b,c,a,b
目前想到比较简单的做法是:
将n与数组长度相除,分别取整和取余
整数表示数组被完整的遍历了多少次
余数表示需要数组需要从起始位开始取多少个
n = 8
names = ["A","B","C"]
mul = n / len(names)
rem = n % len(names)
new_names = []
for i in range(mul):
new_names.extend(names)
rem_list = names[:rem]
new_names.extend(rem_list)
print new_names
输出结果
['A', 'B', 'C', 'A', 'B', 'C', 'A', 'B']
次方法的好处是免去了烦人的下标操作
代价是需要生成一个新的数组
不过也顺便能达到将数组遍历并且填充到指定长度的效果,便于后续使用