파이썬 문자열 리스트에서 특정문자 발견시 줄바꾸기
조회수 1848회
리스트에 1이라는 문자가 있을때마다 줄바꿈을 하고싶습니다.
시도해본 코드는 아래와 같습니다.
list_s = ["a","1","b","e","c","1","d","1","e"]
list_t = ["a","e"]
unit = ["1"]
cnt =0
for value in list_s:
if value in list_t:
del list_s[cnt]
elif value in unit:
list_s.insert(cnt-1,'\n') #이 부분이 안되네요;;
cnt += 1
print(list_s)
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
list_s = ["a","1","b","e","c","1","d","1","e"] list_t = ["a","e"] unit = ["1"] temp = "" cnt =0 for idx, value in enumerate(list_s): if value in list_t: temp += "\n" else: temp += value print(temp)
#result 1b c1d1
리스트에 \n 넣어도 리스트로 출력시에는
['\n', '1', 'b', '\n', 'c', '1', 'd', '1', '\n']
형식으로 나옵니다.
위의 방식 말고 리스트의 내용을 변경하기에는
list_s = ["a","1","b","e","c","1","d","1","e"] list_t = ["a","e"] unit = ["1"] temp = "" cnt =0 for idx, value in enumerate(list_s): if value in list_t: list_s[idx] = "\n" else: list_s[idx] = value print(''.join(list_s))
#result 1b c1d1
동일한 실행 결과를 볼수도 있습니다.
- 문자 1앞에서 줄바꿈하도록 하는 것은 어떻게 하나요? 알 수 없는 사용자 2020.5.3 12:51
- 그리고 문자 1은 삭제가 안되야 합니다. 알 수 없는 사용자 2020.5.3 12:52
- 출력만이 목적이라면 "1\n" 하면 됩니다. 리스트 내용을 수정하려면 1 이후내용을 하나씩 밀어내면 되구요 김호원 2020.5.3 13:38
- 출력을 임의로 1넣어서 하려고 하는 것은 아닙니다. 알 수 없는 사용자 2020.5.3 14:03
댓글 입력