通过循环遍历范围的Python赋值

时间:2016-05-30 03:22:59

标签: python

前两个if语句应该相同......第一个有效,第二个无效。第二个if语句有什么问题?

    row=0
    tsig=0 
    InTrade=[] 

    for data_buy in stock_data['Buy']:  

       if data_buy == 1:
           tsig=1
           print(0)
       if stock_data['Buy'][row]==1:
           tsig=1
           print (1) 

       if tsig==1:    
           InTrade.append(1)
           print(3)
       if tsig==0:
           InTrade.append(0)
           print(4)
    row=row+1    
    print(stock_data['Buy'])
    stock_data['InTrade'] = InTrade  

1 个答案:

答案 0 :(得分:4)

row=row+1在循环之外。它在循环的每次迭代中保持0,并且在循环结束后仅变为1

顺便说一句 - 如果你想为一个循环添加一个迭代索引,你可以(而且应该!)使用enumerate

for row, data_buy in enumerate(stock_data['Buy']):
    # loop body...