파이썬 유용하게 사용하기
1. 파이썬의 자료형
- 리스트 초기화하기!
n = 5
a = [0] * n
print(a) # [0, 0, 0, 0, 0]
- 2차원 리스트 초기화하기!
array = [[0] * m for _ in range(n)]
-
리스트 관련 메소드
[출처: 동빈나 youtube (이코테 2021)] -
튜플 자료형
: 서로 다른 성질의 데이터를 묶어서 관리해야 할 때 사용 가능하다
ex. 최단 경로 알고리즘에서 (비용, 노드번호)의 형태, 해싱의 키 값 -
사전 자료형
: 키와 값의 쌍을 데이터로 가지는 자료형- 키 데이터만 뽑고 싶은 경우, keys() 함수 이용
- 값 데이터만 뽑고 싶은 경우, values() 함수 이용
# 선언 및 정의
data = dict()
data['사과'] ='apple'
data['바나나'] = 'banana'
# method 사용
key_list = data.keys()
value_list = data.values()
# 키에 따른 값 출력
for key in key_list:
print(data[key])
# 데이터 기준으로 정렬하고플때
dic1 = sorted(dic.items(), key=lambda x : x[1])
- 집합 자료형
: 중복을 허용하지 않고, 순서가 없는 자료형, set()함수를 이용- 합집합(|), 교집합(&), 차집합(-)
a = set([1, 2, 3, 4, 5])
b = set([3, 4, 5, 6, 7])
# 합집합
print(a | b)
# 교집합
print(a & b)
# 차집합
print(a - b)
# 원소 추가
a.add(9)
# 여러 원소 추가
a.updata([7, 8])
# 원소 삭제
a.remove(8)
2. 파이썬의 입출력
- 일반적인 소스 코드
n = int(input())
# 리스트로 받을때
data = list(map(int, input().split()))
data.sort(reverse=True)
# 변수로 받을때
a, b, c = map(int, input.split())
- 입력
# 일반적인 입력
data1 = input()
# 빠른 입력
data2 = sys.stdin.readline().rstrip()
- 출력
# 일반적인 출력
print(a, b)
# 줄바꿈을 하지 않을 경우
print(a, end=" ")
# 분자열로 출력
print("정답은" + str(a) + "입니다.")
3. 함수
- 람다 함수
array = [('홍길동', 50), ('이순신', 32), ('아무개', 75)]
def my_key(x):
return x[1]
print(sorted(array, key=my_key))
print(sorted(array, key=lambda x: x[1]), reverse=True)
4. 라이브러리
- 순열
: 서로 다른 n개에서서로 다른 r개를 선택하여 일렬로 나열하는 것
from itertools import permutations
data = ['A', 'B', 'C']
result = list(permutations(data, 3))
print(result)
# [('A', 'B', 'C'),('A', 'C', 'B'),('B', 'A', 'C'),('B', 'C', 'A'),('C', 'A', 'B'),('C', 'B', 'A')]
- 조합
: 서로 다른 n개에서 순서에 상관없이 서로 다른 r개를 선택하는 것
from itertools import combinations
data = ['A', 'B', 'C']
result = list(combinations(data, 2))
print(result)
# [('A', 'B'),('A', 'C'),('B', 'C')]
- 카운터
: 내부의 원소가 몇번씩 등장했는지를 알려줌
from collections import Counter
counter = Counter(['red', 'blue', 'red', 'blue'])
print(counter['blue']) #2
print(counter['green']) #2
print(dict(counter)) #{'red': 2, 'blue': 2}
- 최대공약수와 최소공배수
import math
def lcm(a, b):
return a*b / math.gcd(a,b)
a = 21
b = 14
print(math.gcd(a, b))
print(lcm(a, b))
5. 꾸르팁
- nonlocal : 전역변수를 포함한 상위 스코프의 이름을 사용
Author And Source
이 문제에 관하여(파이썬 유용하게 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@soddong/파이썬의-자료형저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)