본문 바로가기
백준 - python 개념 정리

python 문법 개인 공부

by 반오십 코린이 2022. 11. 17.
728x90

배열선언

arr1 = [1,1,2,2,2,8]

입력받아 int형 element로 list받기

arr2 = list(map(int,input().split()))

반복문 & 출력할 때 띄어쓰기

for i in range(6):
    print(arr1[i] - arr2[i], end =' ')

입력받은 값 A, B, C에 나눠 받기 받아오는건 똑같은듯??

A,B,C = list(map(int,input().split()))
A,B = map(str, input().split())

소수점 아래자리를 없애버리는 trunc

import math
B=20
C=60
math.trunc((B+C)/60)

set은 중복이 허용되지 않고 순서 보장x

arr = ['hi', 'hi', 'bye']
a = set(arr)
list(a)

max 함수 활용 a,b,c 중에 max 구하기

print(max(a,b,c)*100)

sys.stdin.readline() <- input() 대용으로 쓰이며 속도가 빠르다. + 띄어쓰기 없이 출력하려면 int 형 변수를 str로 변환하여 +로 붙여준다.

import sys
T = int(input())

for i in range(1,T+1):
    a,b = map(int,sys.stdin.readline().split())
    print('Case #'+str(i)+':',a+b)

배열 선언하고 입력하고 리스트에 담을 땐 다음과 같이 담아준다.

arr 리스트의 특정 element  -> 'a'의 개수를 확인하고 싶으면 arr.count('a')

arr = []
arr = list(map(int, input().split()))
v = int(input())

cnt = arr.count(v)

정렬하기, sorted 함수는 return 값으로 정렬된 lists 반환

lists = ['a', 'b', 'c']
lists = sorted(lists)

리스트에 없애고 싶은 값이 있을 때

없애고 싶은 index가 있을 때

list.remove(없애고 싶은 값)

list.pop(없애고 싶은 index)

i값을 배열의 값으로 채우기

students = [i for i in range(1,31)]

for _ in range(28):
    applied = int(input())
    students.remove(applied) #소거

print(min(students))
print(max(students))

sort 기준 세우기 - 2차원 배열일 때, 0번째 column을 기준으로 sort했다가 같은 값이 있으면 1번째 col 기준으로 sort.

list1.sort(key=lambda x: (x[0], x[1]))

list에 값 추가하기

list1.append()

list 비우기

list1.clear()

list의 마지막 값 가져오기

list1[-1]

2차원 배열 선언하기 - 0으로 초기화 - 2col, 10 row

list1 = [[0 for _ in range(2)] for _ in range(10)]

val을 소수점 3의 자리까지 표현. 중괄호 안의 f는 float의미.

  print(f'{val:.3f}')

for문 속 list에서 idx와 val값 사용하기

lists1 = ['사과', '파인애플']
for idx,val in enumerate(lists1):
	print(idx, val)

Dictionary

 

딕셔너리에 특정 key가 있는지 확인하기

# 딕셔너리 생성
d = {'a': analog, 'b': "blog", 'c': crayon}
 
# b가 있는지 체크
if 'b' in d:
    print('b가 딕셔너리 안에 있습니다.')
else:
    print('b가 딕셔너리 안에 없습니다.')

딕셔너리에 특정 value가 있는지 확인하기

# 딕셔너리 생성
d = {'a': analog, 'b': "blog", 'c': crayon}
 
# value인 blog가 있는지 체크
if 'blog' in d.values():
    print('blog가 딕셔너리 value에 있습니다.')
else:
    print('blog가 딕셔너리 value에 없습니다.')

딕셔너리를 key or value 기준으로 sort 하기

# 딕셔너리 생성
a = {'a': analog, 'b': "blog", 'c': crayon}
 
# a dictionary를 key값 기준으로 sort하고 dictionary로 바꾸기 
dict(sorted(a.items()))

# a dictionary를 value값 기준으로 sort하고 dictionary로 바꾸기 
dict(sorted(a.items(), key = lambda x:x[1]))

# max - key를 list화 하고 key를 k로 치환, temp[k] 기준으로 max
print(max(temp.keys(), key = lambda k:temp[k]))

딕셔너리의 key값을 통해 value 조회하기, 변경하기

# 딕셔너리 생성
a = {'a': analog, 'b': "blog", 'c': crayon}

#key 'b'를 통해 value 확인하기
print(a['b'])

#key 'b'를 통해 value 확인하기
print(a.get('b'))

#key 'b'를 통해 value 변경하기
a['b'] = 'bravo'

#key 'b'를 통해 dict속 존재 여부 확인하기
print('a' in a) #True

 

dict value 가장 큰 값인 key 가져오기

temp = {'1': 3, '2': 1, '3': 2}

# temp.keys() <- dict list로 바꿔줌, 기준 -> temp[k] 즉, value

print(max(temp.keys(), key = lambda k : temp[k]))

소수점 이하 첫째 자리에서 반올림한 값

lists1 = [3,1,2]
round(sum(lists1)/N)

소수점 이하 둘째 자리에서 반올림한 값

lists1 = [3,1,2]
round(sum(lists1)/N , 1)

counter는 list를 dictionary 처럼 나타낸다.(빈도수를 표현)
most common 빈도수 기준으로 sort 해준다.

from collections import Counter

#counter는 list를 dictionary 처럼 나타낸다.(빈도수를 표현)
#most common 빈도수 기준으로 sort 해준다.

lists1 = [2, 2, 1, 1, 3, 1]
cnt = Counter(lists1).most_common()

#[(1, 3), (2, 2), (3, 1)]
728x90