迭代一个数组并插入一些" text"在每个第n个元素之后

时间:2017-01-01 17:00:52

标签: python arrays

我创建了一个[1-25]的数组,我试图在阵列上逐行打印每个元素,插入"这是一个测试"作为每第5个元素之后的文本。

到目前为止尝试过:

insert_text = "This is test"
# Create array
value_arr = range(1, 26)
cnt = 0
#loop and insert text to the array. + 1
for i in range(len(value_arr) + 1):
    if i % 5 == 0 and i != 0:
    value_arr.insert(i + cnt, insert_text)
    cnt+=1
 print value_arr

3 个答案:

答案 0 :(得分:2)

for nbr in range(1,26):
    string = str(nbr)
    if nbr % 5 == 0:
        string += " This is a test"
    print string

答案 1 :(得分:0)

在我看来,你喜欢在循环中递增i和cnt(我会自动增加for ... in range循环,cnt会由你手动递增) 所以当你到达第20个元素时,你将文本设置为第40个元素,它不存在...

答案 2 :(得分:0)

for i in range(len(array)+1):
    if i%5==0:
        print("this is a test")
        print(array[i])
    else:
        print(array[i])

演练:例如索引是5的倍数