devbelly   3년 전

안녕하세요. 

질문1)

for i in open(0): 과 for i in open(0).readlines()의 차이는 무엇인가요? 

readlines()가 리스트에 담아주는 것 외엔 차이가 없다고 보면 되나요? 

질문2) open(0)은 파일 전체를 가져오는건가요?

질문3) 저는 질문 2에 대한 내용이 맞다고 생각해서 for i in open(0) 하면 한번만 출력되는줄 알았는데 줄마다 여러번 출력하더라고요. 예를들어

https://www.acmicpc.net/proble... 이 문제 예제는 for문이 4번 동작하더라구요

저는 무엇을 잘못알고 있는건가요?

알려주시면 감사하겠습니다ㅠㅠ

sait2000   3년 전

open(0) 자체는 파일 오브젝트를 돌려줍니다.

파일 오브젝트의 readlines 메소드는 알고 계신대로 다 읽어서 리스트에 담아주는 것 같습니다.

그러니까 for i in open(0).readlines()는 별로 어려움 없이 무슨 일이 일어나는 지 느낌이 오실 것 같습니다.

for i in open(0)는 똑바로 설명하자면 이터레이터(iterator; 반복자라고 번역하는 것 같습니다)에 대한 이해가 필요한데,

결과만 말하자면 readlines()와 비슷하게 한 줄씩 돕니다.

devbelly   3년 전

감사합니다 검색해도 잘 안나와서 늘 헷갈렷습니다 ㅠㅠ

댓글을 작성하려면 로그인해야 합니다.