TIL.6 python 기본함수

h986680·2020년 10월 26일
0

기본 함수들

  1. input()
  2. split()
  3. map()
  4. zip()
  1. input()
a = input('누구냐넌: ') #누구냐넌: haiin (입력) 
print(a) #haiin
  1. split()
a, b = input('문자열 두 개를 입력하세요: ').split() #입력받은 값을 공백을 기준으로 분리
#문자열 두 개를 입력하세요: Hello haiin (입력)
print(a) # Hello
print(b) # haiin
  1. map()
a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
#숫자 두 개를 입력하세요: 10 20 (입력)
#변수1, 변수2 = map(int, input('문자열').split('기준문자열'))
print(a + b) # 30
  1. zip()
a = dict(zip(['na', 'nu', 'ni', 'no'], [1, 2, 3, 4])) #zip 함수로
a = {'na': 1, 'nu': 2, 'ni': 3, 'no': 4} #키 리스트와 값 리스트를 묶음
#딕셔너리 = dict(zip([키1, 키2], [값1, 값2]))

<문제>
a는 표준입력으로 문자열 여러개를 입력받고 b는 숫자 여러개를 받는데 실수로 표현, 두 리스트를 각각 키, 값에 넣어 딕셔너리를 만드는 문제.

a = input().split() #split함수는 str으로 받고, 여러개를 받았을때 저절로 리스트로 할당.
b = map(float, input().split()) #여러개를 하나의 변수에 할당하면 스트링 리스트로 반환되기 때문에
#map함수를 써서 리스트안의 수를 일괄적으로 실수 형태로 만들어줌. 
#(참고로 print(b)의 값은 리스트가 아닌 map object의 위치를 알려줌. 아마 값은 리스트지만 메모리문제로 객체위치만 프린트하고 실제로 zip함수로 딕셔너리를 만들때는 리스트역할을 함. print(range(5))했을때도 리스트값이 아닌 객체위치를 알려주는것과 비슷한 방식인것 같음)
print(dict(zip(a, b))) #zip함수는 각각의 리스트를 키:값 의 딕셔너리값으로 변환시켜줌.

0개의 댓글