1) 멀티 할당
- 코드를 간결하게 작성할 수 있는 Python만의 기능
a, b = 10, 20
print(a,b)
# 10 20
a, b = b, a
print(a,b)
# 20 10
2) set{n1, n2, n3, ...}
- Python의 집합
- 값에 순서가 없기 때문에 순서를 다루기 위해서는 list로 형변환이 필요
- 중복된 값은 1개로 처리하기 때문에 유니크값 체크에 용이
tip) 자료형을 set으로 세팅하면 따로 코드를 작성하지 않아도 유니크값 체크가 가능하다
3) dict{키1: 값1, 키2: 값2, ...}
- 내부에 HashTable 알고리즘을 적용하여 코드가 간결하고 빠르다
(HashTable이란?
: Key 값을 입력 받아 해시 함수로부터 반환된 Hash Code를 배열의 Index로 환산해서 데이터에 접근하는 방식)
tip) 속도 이슈가 발생했을 때 자료형을 dict로 바꾸는 것도 하나의 방법이 될 수 있다
ex. 백만 명의 사람 중에서 특정 인물 찾기
-> dict에서 홍길동의 키값(주민번호)만 알면 호출이 가능하다
a_dict = {”a”: 1234, “b”: 5678}
a_dict[”a”]
# 1234
a_dict.keys()
# dict_keys(['a', 'b'])
a_dict.values()
# dict_values([1234, 5678])
* dict는 key값을 기준으로 하기 때문에 value값을 이용하기 위해서는 dict.items()를 활용하자
a_dict = {'a': 1234, 'b': 5678}
a, b = a_dict.items()
print(a[1])
# 1234
a_dict = {'a': 1234, 'b': 5678}
for k, v in a_dict.items():
print(v)
# 1234
# 5678
4) divmod(기준 값, 나눌 값)
출력: (몫, 나머지)
ex. divmod(5,3) = (1,2)
tip) 멀티 할당을 함께 활용하자
q, m = divmod(5,3)
print(q,m)
# 1 2
5) list[값1, 값2, 값3, 값4, ...]
- 값의 종류가 꼭 일치하지 않아도 됨
- 장점: 이질적인 정보들도 하나의 변수에 담을 수 있음
- 단점: 용량이 커질 수 있음
1. append: 값을 맨 뒤에 추가
2. insert(어디에, 무엇을): 값을 중간에 추가
3. pop: 위치를 중심으로 제거&제거한 값 뽑기(기본값은 맨 뒤의 값 제거)
4. remove: 값을 중심으로 제거(중복 값이 있을 때는 그 중 맨 앞의 1개만 제거)
a_list = [10, 20, 30, 40]
a_list.append(50)
a_list
# [10, 20, 30, 40, 50]
a_list.insert(2, "a")
# [10, 20, "a", 30, 40, 50]
a_list.pop()
# 50
a_list.pop(0)
# 10
a_list
# [20, "a", 30, 40]
b_list = [2, 5, 3, 9, 3, 6]
b_list.remove(3)
b_list
# [2, 5, 9, 3, 6] -> 맨 앞 하나의 값만 제거
5+) list의 enumerate
- 인덱스와 값을 함께 출력
a_list = ['a', 'b', 20, 30]
for i in enumerate(a_list):
print(i)
# (0, 'a')
# (1, 'b')
# (2, 20)
# (3, 30)
for i,v in enumerate(a_list)
print(i, v)
# 0 a
# 1 b
# 2 20
# 3 30
a_list = ['a', 'b', 20, 30]
for i in enumerate(a_list):
print(i[1])
# a
# b
# 20
# 30
'ASAC 6기 > Python 기본' 카테고리의 다른 글
[Python 기본] while, stack, queue, 재귀함수 (1) | 2024.08.17 |
---|---|
[Python 기본] 정렬 알고리즘(선택정렬, 삽입정렬, 버블정렬) (0) | 2024.08.15 |
[Python 기본] List comprehension, 함수, lambda, 정렬, lambda를 활용한 정렬 (0) | 2024.08.13 |
1) 멀티 할당
- 코드를 간결하게 작성할 수 있는 Python만의 기능
a, b = 10, 20
print(a,b)
# 10 20
a, b = b, a
print(a,b)
# 20 10
2) set{n1, n2, n3, ...}
- Python의 집합
- 값에 순서가 없기 때문에 순서를 다루기 위해서는 list로 형변환이 필요
- 중복된 값은 1개로 처리하기 때문에 유니크값 체크에 용이
tip) 자료형을 set으로 세팅하면 따로 코드를 작성하지 않아도 유니크값 체크가 가능하다
3) dict{키1: 값1, 키2: 값2, ...}
- 내부에 HashTable 알고리즘을 적용하여 코드가 간결하고 빠르다
(HashTable이란?
: Key 값을 입력 받아 해시 함수로부터 반환된 Hash Code를 배열의 Index로 환산해서 데이터에 접근하는 방식)
tip) 속도 이슈가 발생했을 때 자료형을 dict로 바꾸는 것도 하나의 방법이 될 수 있다
ex. 백만 명의 사람 중에서 특정 인물 찾기
-> dict에서 홍길동의 키값(주민번호)만 알면 호출이 가능하다
a_dict = {”a”: 1234, “b”: 5678}
a_dict[”a”]
# 1234
a_dict.keys()
# dict_keys(['a', 'b'])
a_dict.values()
# dict_values([1234, 5678])
* dict는 key값을 기준으로 하기 때문에 value값을 이용하기 위해서는 dict.items()를 활용하자
a_dict = {'a': 1234, 'b': 5678}
a, b = a_dict.items()
print(a[1])
# 1234
a_dict = {'a': 1234, 'b': 5678}
for k, v in a_dict.items():
print(v)
# 1234
# 5678
4) divmod(기준 값, 나눌 값)
출력: (몫, 나머지)
ex. divmod(5,3) = (1,2)
tip) 멀티 할당을 함께 활용하자
q, m = divmod(5,3)
print(q,m)
# 1 2
5) list[값1, 값2, 값3, 값4, ...]
- 값의 종류가 꼭 일치하지 않아도 됨
- 장점: 이질적인 정보들도 하나의 변수에 담을 수 있음
- 단점: 용량이 커질 수 있음
1. append: 값을 맨 뒤에 추가
2. insert(어디에, 무엇을): 값을 중간에 추가
3. pop: 위치를 중심으로 제거&제거한 값 뽑기(기본값은 맨 뒤의 값 제거)
4. remove: 값을 중심으로 제거(중복 값이 있을 때는 그 중 맨 앞의 1개만 제거)
a_list = [10, 20, 30, 40]
a_list.append(50)
a_list
# [10, 20, 30, 40, 50]
a_list.insert(2, "a")
# [10, 20, "a", 30, 40, 50]
a_list.pop()
# 50
a_list.pop(0)
# 10
a_list
# [20, "a", 30, 40]
b_list = [2, 5, 3, 9, 3, 6]
b_list.remove(3)
b_list
# [2, 5, 9, 3, 6] -> 맨 앞 하나의 값만 제거
5+) list의 enumerate
- 인덱스와 값을 함께 출력
a_list = ['a', 'b', 20, 30]
for i in enumerate(a_list):
print(i)
# (0, 'a')
# (1, 'b')
# (2, 20)
# (3, 30)
for i,v in enumerate(a_list)
print(i, v)
# 0 a
# 1 b
# 2 20
# 3 30
a_list = ['a', 'b', 20, 30]
for i in enumerate(a_list):
print(i[1])
# a
# b
# 20
# 30
'ASAC 6기 > Python 기본' 카테고리의 다른 글
[Python 기본] while, stack, queue, 재귀함수 (1) | 2024.08.17 |
---|---|
[Python 기본] 정렬 알고리즘(선택정렬, 삽입정렬, 버블정렬) (0) | 2024.08.15 |
[Python 기본] List comprehension, 함수, lambda, 정렬, lambda를 활용한 정렬 (0) | 2024.08.13 |