나는 row
라는 목록을 가지고 :다음 목록 이해가 파이썬에서 작동하지 않는 이유는 무엇입니까?
'ABS'
로 대체됩니다 있도록
row[1]
을 변경하려면
row = ['1234', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]]
. 이런 식으로 뭔가 :
['1234', ['ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', '09:54:59', '09:55:18', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS', 'ABS']]
여기 내 코드입니다 :
for obj in row_objs:
row[1] = [str(obj.punch.time()) if x==obj.punch.day else 'ABS' for x in row[1]]
하지만 위의 코드와 함께 'ABS'로 대체 모든 숫자가 계속. 나는이 작업을 수행 할 때
:
for obj in row_objs:
row[1] = [str(obj.punch.time()) if x==obj.punch.day else x for x in row[1]]
시간은 제대로 배치되어 있지만 다른 숫자가 아직.
['1234', [1, 2, 3, 4, 5, 6, 7, '09:54:59', '09:55:18', 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]]
여기에 무슨 문제가 있습니까?
아직 커피가 충분하지 않을 수도 있지만 문제는 아니며 'for'루프 반복마다 "row [1]"이 덮어 쓰여지므로 OP가 마지막 되풀이? – timgeb
@timgeb 그게 문제인 것처럼 보입니다. 그들은 단지 그들의 질문을 업데이 트했습니다. –
@timgeb : 전에 언급 한'for' 루프는 거기에 없었습니다. 그들은 각각의 for 반복이 다음 반복에 영향을주지 않을 것으로 기대하고 있습니다. –