text = [" a "," b ", " a b "]
mapping = zip([" a "," b "],[" A "," B "])
result=[]
for i in range(len(text)):
my_string=text[i]
print("item:"+my_string)
for before, after in mapping:
my_string = my_string.replace(before,after)
print("the inner loop is operating.")
result.append(my_string)
result
text안에 있는 각 원소를 mapping을 이용해서 소문자 a는 대문자A로, b는 B로 만들라함. (upper쓰는게 목적이 아니라 원래 목적은 다른 단어로 바꾸는거임)
그래서 text각 원소마다 for루프를 한번걸었고 그안에서 다시한번 mapping이라는 zip을 이용해서 replace하는 nested loop를 걸었음.
첫번째 아이템은 이게 잘 처리되었는데 2번째 (' b ')랑 3번째 (' c ')는 nested loop가 안돌아감.
결과는 아래와같은데 nested loop는 text의 첫번째 아이템에서만 돌고 그 다음 아이템부터는 무시당함. 왜그러는거임????
Out[69]:
zip 이 iterator 를 리턴해서 한 번 돌면 끝남 list(zip(...)) 해서 리스트로 변환해놔
형 사랑해
리스트의 리스트로 만들라는거 맞지?
zip한 직후 상태는 리스트가 아니니까 리스트의 리스트라기보단 그냥 리스트로 만드는 거지
아 그러네 다른거네! 고마어