스트링을 이터레이트 하는 방법을 알려주세요

C++에서는 스트링을 알파벳 단위로 접근할 때

for (int i = 0; i < str.length(); ++i)
    std::cout << str[i] << std::endl;

이런 식으로 했었는데 파이썬에서는 어떻게 하나요?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    리스트나 튜플같이 다른 이터레이션과 마찬가지로 스트링도 다음과 같은 방법으로 이터레이션 할 수 있습니다.

    for c in "string":
        #어떤 코드
    

    파이썬에서 이터레이션이 가능한 객체는 객체 안에 __iter__ 어트리뷰트가 있습니다. 그래서 어떤 객체가 iterable 타입인지 확인하려면 객체에 hasattr(someOBJ.__iter__)가 있는지 확인해보세요 사실, 파이썬의 반복문은 거의 대부분의 타입(객체에 __iter__ 어트리뷰트가 있음)을 이터레이션 할 수 있습니다. 예를 들면 파일 객체를 이터레이트해서 파일의 내용물을 읽어올 수도 있습니다.

    filename = open("file.txt")
    for line in open(filename):
        print line
    

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.