이롭게 현명하게

[Python] 파이썬 숫자를 list로 변환 본문

Python

[Python] 파이썬 숫자를 list로 변환

dev_y.h 2023. 5. 11. 18:50
728x90
반응형

 

 


 

num = 232443
line = list(map(int,str(num)))

print(line) # 	[2, 3, 2, 4, 4, 3]

 


귀여운 댓글이 달렸다
히히 기여엉 >< 답변 감사합니당!

[코드설명]

정수 num을 각 자릿수별로 분리해서 리스트로 만드는 과정이다.

num = 232443
line = list(map(int,str(num)))

print(line) # 	[2, 3, 2, 4, 4, 3]

 

변수 num에 정수 232443을 저장한다.

num = 232443

 

str(num) 정수 232443을 문자열 "232443"으로 변환한다.

파이썬에서 문자열은 자동으로 글자를 하나씩 꺼낼 수 있는 순회 가능한 데이터다.

그래서 문자열은 문자로 하나씩 나눠서 저장된다.

문자열 "232443"은 문자 ‘2’,’ 3’,’ 2’,’ 4’,’ 4’,’ 3’으로 나눠져 문자에 각각 접근할 수 있다.

line = list(map(int,str(num)))

 

map(함수, 순회 가능한 데이터)는 데이터의 각 요소에 함수를 적용한다.

line = list(map(int,“232443”))

 

주어진 데이터의 요소를 하나씩 꺼내서 함수에 넣는 동작을 해서 내부적으로는 for문과 같은 일을 한다.

for ch in "232443":
	int(ch)

그래서 for문을 사용하지 않아도 map이 알아서 각 문자 ‘2’,’ 3’,’ 2’,’ 4’,’ 4’,’ 3’을 int에 넣어서 변환한다.

  • "2" → 2
  • "3" 3
  • "2" → 2
  • "4" 4
  • "4"  4
  • "3"  3

이 상태를 print로 확인하면 <map object at 0x000001C15EE0F4F0>의 결과가 나온다.

아직 map이라는 특별한 객체 안에 있어서 리스트처럼 보이지 않는다.

print(map(int,“232443”)) # <map object at 0x000001C15EE0F4F0>

이렇게 하면 데이터가 엄청 많아도 메모리를 전부 쓰지 않고 처리할 수 있다.

 

그래서 list()를 사용해서 map의 객체를 리스트로 만들어준다.

line = list(map(int,“232443”))

 

<변환 과정>

232443 → "232443" → ["2","3","2","4","4","3"] → [2,3,2,4,4,3]

 

 


잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊

댓글과 좋아요는 큰 힘이 됩니다!

 

더보기

[ 참고자료 ]

 

 

 

 

728x90
반응형
Comments