[python] for 문에 대한 궁금증

Jin Lee·2021년 12월 28일
0

[for 문의 구조]

for 변수 in 문자열,리스트,튜플,딕셔너리:
	수행 부분

보통 for 문에 대한 설명을 보면

⇒ for 문은 in 뒤에 존재하는 문자열, 리스트, 튜플, 딕셔너리를 순서대로 하나씩 변수에 넣어준다.

여기서 궁금증이 생겼다. 문자열과 리스트는 순서가 있지만 튜플과 딕셔너리는 순서가 없는 것으로 알고 있어서 순서대로라는 말이 과연 맞는가? 라는 생각을 하게 되었다.

[시퀀스 객체와 반복가능한 객체]

결론부터 얘기하면 시퀀스 객체와 반복 가능한 객체의 차이를 혼용하였기 때문(해당 내용은 1번 레퍼런스에서 발췌)

반복 가능한 객체 : 요소의 순서와는 상관없이 요소를 한 번에 하나씩 꺼낼 수 있으면 반복 가능한 객체

시퀀스 객체 : 요소의 순서가 정해져 있고 연속적(sequence)으로 이어져 있어야 함

⇒ 따라서 딕셔너리와 셋은 요소(키)의 순서가 정해져 있기 않기 때문에 반복 가능한 객체는 맞지만 시퀀스 객체는 아니다.

[for _ in 추가로 올 수있는 것]

  1. range() : 숫자의 불변 시퀀스를 나타내며 for 루프에서 특정 횟수만큼 반복하는데 흔히 사용
  2. enumerate() : 순서가 있는 자료형을 입력받아 index와 함께 튜플 형태로 리턴

[추가로 알게된 사실]

range() 함수가 아니다.

해당 내용은 5번 레퍼런스 참고

ref)
1. https://dojang.io/mod/page/view.php?id=2405
2. https://wikidocs.net/22
3. https://docs.python.org/ko/3.7/library/functions.html#func-range
4. https://docs.python.org/ko/3.7/library/functions.html#enumerate
5. https://kyleyj.tistory.com/m/55?category=855587

profile
깃허브 : https://github.com/jinlee9270

0개의 댓글