🖥

파이썬 syntax

망록 2022. 4. 29.

걍 헷갈리는 문법들 정리용

여기 써놓은건 까먹지마...

 

입력

#값 2개 입력받기
n, k = map(int, input().split())
#값 3개 입력받기 똑같음 
a, b, v = map(int,input().split())

#여러개의 값을 공백으로 나누어 입력받을때 리스트에 집어넣기 
arr = list(map(int, input().split()))

#16진수를 10진수로
n = int(input(), 16)

a = sys.stdin.readline().strip()


#문자열 여러줄
s = [input() for _ in range(3)]

#111
#222
#333
s = [list(map(int, input())) for _ in range(3)]

#2차원 배열 입력
#1 1 1 1 1
#2 2 2 2 2

arr = [list(map(int, input().split())) for _ in range(2)]

 

여러 줄의 정수 입력받기 

#한줄에 정수 1개씩 9줄의 경우
list = [int(sys.stdin.readline()) for _ in range(9)]

 

리스트 출력

l = [1,2,3,4,5]

print(l) 	#[1,2,3,4,5]
print(*l) 	#1 2 3 4 5
print(*l, sep = ", ") #1, 2, 3, 4, 5
print(*l, sep = "\n") 
"""
1
2
3
4
5
"""

print("%d %d"%(l[1], l[2]))

 

주석처리

#한줄짜리 주석

'''
여러줄
주석
'''

"""
여러줄 주석2
"""

 

내장함수

#총합
sum([1,2,3,4,5])	#15

min(7,3,5,2)		#2
max(7,3,5,2)		#7

eval("(3+5)*7")		#56

 

ASCII 아스키코드

print(ord("A")) #65
print(chr(65)) #A

 

 

정렬

s = input()

s1 = sorted(s) #list형태로 반환됨
''.join(sorted(s)) #

 

'''
1) 두번째 원소를 기준으로 내림차순
2) 두번째 원소 같을때 세번째 원소 기준 오름차순
3) 세번째 원소 같을때 네번째 원소 기준 내림차순
4) 네번째 원소 같을때 첫번째 기준 오름차 
'''
s.sort(key = lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0]))

 

numpy

np.mean(arr) #average

 

set

s = {}
s = set()
for i in range(10):
    s.add(int(input()) % 42 )
print(len(s))

 

수행시간, 실행시간 측정

import time

start = time.time()
print("hello")
end = time.time

print(end-start)

 

숫자 각 자릿수 합 구하기

ex) 11 -> 2, 78-> 15

예시문제: 프로그래머스 자릿수 더하기 

https://programmers.co.kr/learn/courses/30/lessons/12931

 

코딩테스트 연습 - 자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

programmers.co.kr

#숫자 x의 각 자릿수 합 구하기
sum([int(n) for n in str(n)])

 

제곱근 구하기

root = n ** (1/2)

루트는 곧 1/2제곱임을 이용한 방법!

 

 

자릿수 더하기 

sum([int(n) for n in str(n)])

 

리스트에서 제일 작은 수 제거

arr.pop(arr.index(min(arr)))

 

str -> list

#입력값 n
lst = list(n)

반대로 리스트를 다시 str로 합치기 

answer = ''.join(lst)
answer = ''.join(s for s in lst)

 

리스트 정렬

#오름차순 (1 2 3 4)
lst.sort() 
#내림차순 - 큰 수부터 (4 3 2 1)
lst.sort(reverse = True)

만일 정렬된 새로운 리스트를 얻고싶다면

lst2 = sorted(lst)
lst2 = sorted(lst, reverse = True)

 

리스트 역순(정렬x)

lst.reverse()

 

댓글