프로그래밍/Python

[python] 파이썬 각 자리수 분리, 더하기

유니디니 2020. 11. 17. 22:32
728x90
반응형

파이썬에서 각 자리숫자를 분리하는 방법은 여러가지가 있으며, 소개해드릴 방법은 문자열로 변환 후 분리하는 방법, 10으로 나누어서 수행하는 방법, map함수를 이용하여 자리수 별 더하는 방법이 있다.

 

1. 문자열로 변환 후, 분리하는 방법

 

변수 number = 123에 대하여, list 변수에 원소를 넣어본 결과

a = []
for i in str(number):
    a.append(i)

['1', '2', '3'] 이라는 결과를 얻을수 있다. 각각의 list 원소는 str의 값을 나타내며 int로 활용할 경우, 형변환 시켜주면 된다. 

 

2. 10으로 나누어 자릿수 분리하기(10으로 나누기때문에, 1의 자리부터 분리)

a = []
while(number!=0):
    a.append(number%10)
    x = x//10

결과는 [3, 2, 1]이며, 각 원소는 int값을 나타냅니다.

 

3. map 함수를 활용하여 원소값 더하기

sum(map(int, str(number))

python에서 map함수는 다양하게 이용되며, doc에서의 설명은 다음과 같다.

 

map(function, iterable,...)

 

Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. If one iterable is shorter than another it is assumed to be extended with None items. If function is None, the identity function is assumed; if there are multiple arguments, map() returns a list consisting of tuples containing the corresponding items from all iterables (a kind of transpose operation). The iterable arguments may be a sequence or any iterable object; the result is always a list.

 

"반복 가능한 모든 항목에 함수를 적용하고 list of results를 반환한다. 만약 추가 반복 가능한 인수가 전달되면 ,함수는 많은 인수를 취해야하며 모든 반복 가능 항목에 병렬로 적용된다. 인수가 여러개인 경우 map()은 모든 iterable의 해당 항목을포함하는 튜플로 구성된 list를 반환한다. (일종의 transpose 연산) 반복 가능한 인수는 시퀀스 또는 반복 가능한 객체일수 있습니다; 결과는 항상 list입니다."

 

참고자료 : bluese05.tistory.com/58

 

python map() 함수

python map() 함수 python docs 의 map 함수에 대한 정의를 보자. map(function, iterable, ...) Apply function to every item of iterable and return a list of the results. If additional iterable arguments..

bluese05.tistory.com

반응형

'프로그래밍 > Python' 카테고리의 다른 글

[python] np.transpose (python ,c)  (2) 2020.12.18
[python] 반복문(for문)과 내부기능  (0) 2020.12.11
[Python] Numpy Slicing  (2) 2020.06.28
[Python] 경로명 분리하기  (0) 2020.01.20