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
helena1129