2016-06-14 4 views
0

저는 파이썬을 가르쳐 왔으며 현재는 astropy 테이블을 반복하고 두 번째 열의 특정 값을 가진 행을 대체하려고합니다. 이 작업을 수행하는 스크립트를 작성할 수는 있지만 더미 인덱스를 사용하지 않고 어떤 행을 추적 하는지를 확인할 수는 없습니다.개체 테이블을 사용하지 않고 테이블을 반복하고 행을 제거합니다.

for value in my_list: 
    k=0 
    for row in data_table: 
     if value == row[1]: 
      data_table.remove_row(k) 
      data_table.add_row([replacement_row]) 
      k+=1 
     else: 
      k+=1 

내가 궁금하네요하는 속성 또는 허용 것이라고 비슷한 일이 제가 '아무튼 쓴

for value in my_list: 
    for row in data_table: 
     if value == row[1]: 
      data_table.remove_row(row.index()) 
      data_table.add_row([replacement_row]) 

원래의 코드를 작성()는 row.index이가 있는지 여부입니다 가장 무의미한 방법처럼 보입니다.

+0

어떤 유형 사용하여 수행 할 수 있다는 것을 나에게 지적? 리스트에는 당신이 활용할 수있는'index' 메소드가있다. 그건 그렇고, 당신이 iterating 이상 (반복하는 동안 모양을 변경) 무언가에서 제거는 일반적으로 나쁜 생각이다. –

+0

for 루프에서'print (type (row))'를 실행하면''가 출력됩니다. – user144153

답변

0

사람이이`row`이 enumerate()

for value in my_list: 
    for row in enumerate(data_table): 
     if value == row[1][1]: 
      data_table.remove_row(row[0]) 
      data_table.add_row([replacement_row]) 
관련 문제