나를 기록하다
article thumbnail
반응형

c_list = [1,1,2,2,2,8] # chess list
p_list = list(map(int, input().split())) # present list
for i in range(6):
    print(c_list[i] - p_list[i], end=' ')

 

⭐︎ 파이썬 map 함수 기본 설명

a) 기본 설명

map(function, iterable)

→ 첫 번째 매개변수로는 함수, 두 번째 매개변수로는 반복 가능한 자료형(리스트, 튜플 등)이 온다.

  • map 함수의 반환 값은 map 객체이기 때문에 해당 자료형을 list 혹은 tuple로 형변환을 시켜줘야 함.함수의 동작은 iterable을 function에 하나씩 집어넣어서 함수를 수행한다.
  • → map(적용시킬 함수, 적용할 값들)

b) map 함수를 사용하는 것과 아닌 것의 차이

# 리스트에 값을 하나씩 더해서
# 새로운 리스트를 만드는 작업
myList = [1, 2, 3, 4, 5]

# for 반복문 이용
result1 = []
for val in myList:
    result1.append(val + 1)

print(f'result1 : {result1}')
# map 함수 이용
def add_one(n):
    return n + 1

result2 = list(map(add_one, myList))
# map반환을 list 로 변환
print(f'result2 : {result2}')

→ 이런 식으로 map을 사용하지 않으면 for 반복문 등을 이용하여 하나씩 리스트 요소에 접근 후 계산을 하여 리스트에 하나씩 append를 해주어야 함.

c) [예제] list와 map 함수

  • list의 값을 정수 타입으로 변환
import math # math.ceil 함수 사용

# 예제1) 리스트의 값을 정수 타입으로 변환
result1 = list(map(int, [1.1,2.2,3.3,4.4,5.5]))
print(f'map(int, [1.1,2.2,3.3,4.4,5.5] : {result1}')

# 예제2) 리스트 값 제곱
def func_pow(x) :
    return pow(x, 5) # x의 5제곱 반환

result2 = list(map(func_pow, [1,2,3,4,5]))
print(f'map(func_pow, [1,2,3,4,5] : {result2}')

# 예제3) 리스트 값 소수점 올림
result3 = list(map(math.ceil, [1.1,2.2,3.3,4.4,5.5,6.6]))
print(f'map(math.ceil, [1.1,2.2,3.3,4.4,5.5,6.6] : {result3}')

⭐︎ 파이썬 제곱 함수 pow

  • pow 함수는 두 가지가 존재한다.
  • → 파이썬 내장 함수에 정의된 pow(), math 라이브러리에 의해 정의된 math.pow()가 존재한다.

a) 파이썬 내장 함수 pow

  • 파이썬의 제곱과 거듭 제곱 → 제곱에 사용되는 기호 : **

[예제] 제곱 사용

# 1. 숫자를 직접 입력하는 방법
print(2 ** 10) # 2의 10제곱

# 2. 변수를 이용하여 제곱을 구하는 방법
a = 2
b = 10
print(a ** b) # a의 b제곱 (a=2, b=10)

# 3. 변수와 숫자를 섞어서 제곱을 계산하는 방법
x = 2
print(x ** 11) # x의 11제곱 (x=2)
  • pow(a, b) : a의 b제곱을 계산해서 반환하는 함수

[예제] pow(a, b) 사용

print(pow(2, 10))

a = 2
b = 10
print(pow(a, b))

x = 10
print(pow(x, -2))

⭐︎ 파이썬의 f-string 사용법

  • 의미 : 문자열을 좀 더 쉽게 포멧팅하기 위한 방법

a) 기본 문법

  • 파이썬에서 문자열을 나타내는 방법
"나는 문자열입니다."
'나는 문자열입니다.'
  • 이러한 일반적인 문자열 앞에 f 또는 F 문자만 붙여주면 f-string이 된다.
f"나는 f-string입니다."
f'나는 f-string입니다.'

b) 변수 치환

  • 중괄호(brace)를 사용하면 f-string 안에 파이썬의 표현식(expression)을 삽입할 수 있다.
>>> x = 1
>>> y = 2
>>> f"{x} + {y}는 {x + y}입니다."
'1 + 2는 3입니다.'
  • f-string은 문자열 안에 변수 값을 삽입하는 용도로 사용될 때 그 진가를 발휘한다.
>>> first_name = "John"
>>> last_name = "Doe"
>>> f"Welcome, {first_name} {last_name}!"
'Welcome, John Doe!'

c) 함수 호출

  • f-string을 사용하면 문자열 안에서 함수를 호출한 결과를 삽입할 수도 있다.
>>> word = "Python"
>>> f"{word}는 {len(word)}글자입니다."
'Python는 6글자입니다.'
>>> f"대문자로는 {word.upper()}이고, 소문자로는 {word.lower()}입니다."
'대문자로는 PYTHON이고, 소문자로는 python입니다.'

d) 객체 치환

  • f-string 안에서 객체를 사용하면 해당 객체의 str() 메서드가 호출된 결과가 삽입된다.
>>> from datetime import date
>>> f"오늘은 {date.today()} 입니다."
'오늘은 2023-02-03 입니다.'

e) 디버깅

  • 기존에는 변수명과 변수값을 콘솔에 출력해볼 때, f-string 안에 변수를 2번 사용했어야 했다.
>>> num = 1
>>> print(f"num={num}"
num=1
  • 하지만 이제는 f-string 안에 변수를 한 번만 사용해도 되기 때문에 디버깅할 때 특히 유용하다.
반응형
profile

나를 기록하다

@prao

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...