컨테이너 시퀀스

list, tuple, collections.deque

객체에 대한 참조를 하고 있다. 즉, 어떠한 자료 형도 담을수 있다.

말그대로, Container 의 개념

균일 시퀀스

str, bytes, bytearray memoryview, array.array

각각의 메모리공간에 각 항목 값을 저장, 메모리는 더 적게 먹는다 (기본 자료형만 저장가능)

리스트와 지능형 리스트

# 리스트
tmp = 'my python'
codes = []
for idx, element in enumerate(tmp):
		codes.append(element)

# 지능형 리스트
codes = [x for x in tmp]
  1. 지능형 리스트는 가독성이 좋다(잘만 쓴다면..)
  2. 의도가 명확하게 보여진다 (이것도 잘만 쓴다면..)
  3. 즉, 구문이 너무 길거나 딱 봐도 가독성이 떨어진다면, 일반적인 For Loop을 사용하는게 좋다.

지능형 리스트를 이용한 데카르트 곱

# 이중 for 문
clothes = ['pants','jeans','skirt']
sizes = ['L','M','S']
result = []
for cl in clothes : 
	for size in sizes:
			result.append((cl,size))

# 지능형 리스트
#가독성이 압도적으로 좋다.
result = [(cl,size) for cl in clothes for size in sizes ]

Result