• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

한줄 for 에서 len과i를 이용해 글자의 길이를 잴때 공백을 안세는 방법?

21.04.18 15:33 작성 조회수 179

1

나도코딩님 파이썬 무료 강의(기본편) 한줄for 편을 보고 질문드립니다.


students1 = ["Zeus", "Hestia", "Poseidon", "Julius Caesar"]
students1 = [len(i) for i in students1]
print(students1)

이라고 했을때 그저 텍스트의 길이를 재고싶을 뿐이라면 저렇게 해도 괜찮겠지만 "Julius Caesar"의 길이를 잴때 스페이스(공백)은 빼고 재고 싶습니다.

개인적으로 몇가지 방법을 검색하고 시도해봤는데 잘 안되더군요. 혹시나 방법을 알려주신다면 감사하겠습니다.

답변 2

·

답변을 작성해보세요.

1

NH님의 프로필

NH

2021.07.05

students1 = ["Zeus", "Hestia", "Poseidon", "Julius Caesar"]

students1 = [len(i.replace(' ', '')) for i in students1]

print(students1)

0

haon님의 프로필

haon

2021.04.19

students1 = ["Zeus", "Hestia", "Poseidon", "Julius Caesar"]
for i in students1:
    count = 0
    for j in i:
        if j == ' ':
            continue
        count += 1
    print(count)

저는 이정도밖에 생각안나는데요? (심지어 2중포문...)

uki020226님의 프로필

uki020226

2021.05.07

저도 이정도 박에는 생각이 안납니다. ( 질문자 아닙니다)

각 문자열에서, 각 문자 단위로, 검사해서, 그게 만약 공백이면 뺴고 계산 하는 식으로 하는 수밖에는 글세요. 
아니면 아예 함수를 만들어서 적용해 버리는게 맞겟죠. 어차피 상용함수들도 다 저런식으로 만들어져서 내재된 것일뿐 똑같은거니까요.