파이썬에서 원하는 문자를 삭제할때 편하게 하는법이 있을까요?

조회수 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 답변

  • 좋아요

    2

    싫어요
    채택 취소하기
    a[:-1]
    

    이란 구문은 슬라이스 이후 새로운 문자열을 리턴합니다. 때문에 끝 문자를 삭제하려면

    a = a[:-1]
    

    위 처럼 해서 새로이 리턴 받은 문자열을 원래 변수에 할당을 해 주셔야 합니다.


    두 번째 코드는 정확히 어떤 걸 원하시는지 모르겠네요.

    제가 나름 이해한 걸로 풀어보자면 그냥 for문이 끝났을 때 print(b) 한번만 호출하면 되지 않을까요?

    b = []
    
    for i in range(5):
        a = input(':')
        b.append(a)
    
    
    print(b)
    

    for문 안이라고 해서 출력하는 방식이 다른건 없습니다. 배열 b에 반복문의 결과가 모두 채워진 상태를 출력하고 싶으시다면 당연히 반복문이 끝나고 나서 출력하는 코드를 짜야죠.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)