如何在列表中的每个第n个数字添加+1,python

时间:2012-10-17 17:47:22

标签: python

我生成了零列表。

num=raw_input

list=[0]*int(num)

我希望list2中的每个第1和第2个数字都加上+1。

对于list3中的每个第3个数字,我想要添加+1。

我期待以下输出。

  

list2中

     

10101010101010

     

项目list3

     

10010010010010

我尝试使用以下代码:

list=raw_input 
list=[0]*int(num) 
num2=list(num)/2 
num3=int(num)/3 

但如果在除12之外的任何数字上使用,则会中断,例如:

list1 = [1,0]*int(num2) 
list2 = [1,0,0]*int(num3)

提前谢谢。

2 个答案:

答案 0 :(得分:2)

这个怎么样:

for i in xrange(0, len(list)):
    if i % 2 == 0:
        list[i] += 1

这会修改列表的每个第二个元素,以便添加1。通过将 i%2 更改为 i%3 ,您可以轻松修改此项以更改每三分之一。

一个快速的旁注:此页面不适合用于解决您的问题。正如Abhinav Sarkar所问:你有什么尝试?学习编程并不是关于实际解决方案,而是关于实现这一目标的道路。

我看到你是新来的,不过,从一开始就做到这一点很好。在提问时 - 特别是当问题与你的问题一样简单时 - 列出尝试过的问题。

答案 1 :(得分:-1)

最简单的方法是:

num=raw_input

list=[0]*int(num)
list2 = []
list3 = []

for x in xrange(len(list)):
    if x % 2 == 0:
        list2.append(list[x] + 1)
    else:
        list2.append(list[x])

for x in xrange(len(list)):
    if x % 3 == 0:
        list3.append(list[x] + 1)
    else:
        list3.append(list[x])