코딩 스쿨에 오신것을 환영합니다~~

질의응답 게시판

 
리스트 생성시 질문드립니다.
오 * 진 | 2019-01-17

a = 1 로 저장하고

b = list(a) 하면 

TypeError: 'int' object is not iterable


라는 에러가 뜨면서 리스트가 안만들어 지네요

b = [1] 하거나


b = []
b.append(1) 하면

의도대로 리스트가 만들어지는데 말이죠

iterable 이 무슨 뜻인가요


  • 관 * 자
  • 2019-01-18 (09:09)
list() 함수는 인자로서 시퀀스(문자열, 튜플) 또는 집합(딕셔너리) 또는 iterable(반복할 수 있는) 개체(range())가 와야 합니다.
다음과 같은 형태로 사용해야 합니다.

>>> tup = (1,2,3)
>>> a = list(tup)
>>> print(a)
[1, 2, 3]
>>> str = "I am happy!"
>>> a = list(str)
>>> print(a)
['I', ' ', 'a', 'm', ' ', 'h', 'a', 'p', 'p', 'y', '!']
>>> a = list(range(10))
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  • 관 * 자
  • 2019-01-18 (09:13)
원래 list() 함수 원형은 다음과 같습니다.

list([iterable])

여기서 iterable은 단일 객체가 아닌 반복할 수 있는 문자열, 튜플, 딕셔너리, range() 함수 등을 의미합니다. list(10)은 인자로 정수가 사용되는데 문법에 맞지 않습니다. 
도움이 되시길...
궁금하신 점 있으심 또 문의해주세요.^^
  • 오 * 진
  • 2019-01-18 (12:20)
반복할수있다는게 무슨뜻인가요?

나열할수있다는 뜻인가요?

문자열,튜플,딕셔너리,range()함수는
뭔가 구성요소들을 하나씩 나열할수있고

정수는 쪼갤수없는 하나의 객체이기 때문이라는건가요?
  • 관 * 자
  • 2019-01-18 (13:12)
네. 비슷합니다. 

iterable 은 '반복할 수 있는', 달리 말하면 반복 수행이 가능한 요소를 말합니다.

iterate는 for나 while 문에서 '반복 수행하다'란 뜻으로 사용됩니다.

쉽게 생각하셔서 단일 객체가 아닌 여러개의 요소를 가진 객체(리스트, 튜플, 딕셔너리, range() 함수등)로 생각하시면 될듯합니다. ^^