파이썬에서 원하는 문자를 삭제할때 편하게 하는법이 있을까요?
조회수 1787회
a = '123456789'
a[:-1]
위 방식처럼 슬라이스로 방식으로하면 삭제가가 아니라 안보이게 감춰? 져서 `12345678' 이렇게 보여져도 실제로 값을 불러오면 '123456789'가 됩니다. 마지막 끝만 삭제(백스페이스)할 수 있는지 알고싶습니다.
또한가지 리스트 합치기를 물어보고싶습니다.
b = []
for i in range(5):
a = input(':')
b.append(a)
print(b)
[1]
[1].[2]
[1].[2].[3]
...
반목문안에서 출력을 ['1,2,3,4,5~~']
한번에 하고싶은데extend
도 안되고+
기호도 안되는데.. 반복문에서는 다른 방법이 있나요?? 알려주시면 감사하겠습니다.
1 답변
-
a[:-1]
이란 구문은 슬라이스 이후 새로운 문자열을 리턴합니다. 때문에 끝 문자를 삭제하려면
a = a[:-1]
위 처럼 해서 새로이 리턴 받은 문자열을 원래 변수에 할당을 해 주셔야 합니다.
두 번째 코드는 정확히 어떤 걸 원하시는지 모르겠네요.
제가 나름 이해한 걸로 풀어보자면 그냥 for문이 끝났을 때 print(b) 한번만 호출하면 되지 않을까요?
b = [] for i in range(5): a = input(':') b.append(a) print(b)
for문 안이라고 해서 출력하는 방식이 다른건 없습니다. 배열 b에 반복문의 결과가 모두 채워진 상태를 출력하고 싶으시다면 당연히 반복문이 끝나고 나서 출력하는 코드를 짜야죠.
댓글 입력