1차원 리스트
2차원 리스트
실제 형태
2차원 리스트의 길이(length) = 행의 길이
# 2차원 리스트의 len()함수
len(2차원_리스트) → 행의 길이
2차원 리스트의 인덱싱
# 2차원 리스트의 인덱싱
list[행][열]
# 예시 : 2행 2열
list_tw[1][1]
인덱싱을 하나만 한다면? -> 행이 모두 출력!
3차원 리스트
# 3차원 리스트
3차원_리스트[depth][행][열]
# 4행, 3열, depth 2인 3차원 리스트
list_th = [[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]],\
[['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['j', 'k', 'l']]]
list_th
출력 이해하기
[[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]],
[['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['j', 'k', 'l']]]
3차원 리스트의 길이 == depth의 길이(인덱싱 첫번째 순서가 depth)
# Q. ['d', 'e', 'f']를 선택하려면 인덱싱을 어떻게 해야 할까요?
list_th[1][1][:]
min()
, max()
: 리스트 최솟값, 최댓값
'<' not supported between instances of 'int' and 'str'
오류 발생int
형과 str
형은 서로의 크기 비교 불가chr()
ord()
sum()
: 모두 더하는 함수
enumerate()
: 리스트 원소에 순서값 부여, for문과 함께 쓰임.
for i in enumerate(kims_age):
print(i)
zip()
: 여러 개의 순회 가능한(iterable) 객체를 인자로 받아 각 객체의 원소를 순차 접근할 수 있는 반복자(iterator) 반환
# for문에 zip을 넣고 출력해보기
napoli_num = [3, 77, 9, 99]
napoli_player = ['minjae', '크바라츠헬리아', 'Osimhen', 'Anguissa']
for i in zip(napoli_num, napoli_player):
print(i)
(3, 'minjae')
(77, '크바라츠헬리아')
(9, 'Osimhen')
(99, 'Anguissa')
이터레이터(iterator)
- 파이썬에서 반복적으로 요소를 하나씩 꺼내 처리할 수 있는 객체
zip(*)
: 묶은 데이터 해제
new_num, new_player = zip(*check_zip)
print(new_num)
print(new_player)
key-value 추가하기 : setdefault(), update()
setdefault()
딕셔너리.setdefault(key, value)
update()
딕셔너리.update(iterable)
setdefault()
vsupdate()
setdefault()
- 함수에 key와 value를 넣었는데,
- 이미 key가 딕셔너리에 있다면 -> 새로 value 값을 넣어도 무시된다!
update() 함수
- 기존 value 값과 상관없이 새로 입력된 value 값으로 업데이트된다!
pop()
리스트or딕셔너리.pop()
popitem()
을 사용하면 마지막 value 값을 꺼내 삭제해준다!# key를 넣어주는 경우
dict_uni.pop('g')
# popitem() 사용
dict_uni.popitem()
딕셔너리 생성 : fromkeys()
dict.fromkeys(리스트 또는 튜플)
# value를 같이 넣고 싶다면?
dict.fromkeys(key, value)
in
, not in
요소 in 리스트
, 요소 not in 리스트
in
으로 key만 확인 가능values()
함수와 함께 쓰기100 in dict_uni.values()
반복문 vs 컴프리헨션
반복문 [] == 컴프리헨션 []
for문 == 컴프리헨션 for문
반복문 변수 i == 컴프리헨션 변수 x
중복 표현과 컴프리헨션
# for문
[[x, y] for x in sweetie for y in savory]
# if문
[x for x in range(1, 30) if x % 2 == 0 if x % 3 == 0]
[ ]
대신에 중괄호 { }
사용{x for x in range(0, 11, 2)}
zip()
함수로 key, value 지정napoli_num = [3, 77, 9, 99]
napoli_player = ['minjae', '크바라츠헬리아', 'Osimhen', 'Anguissa']
{k:v for k, v in zip(napoli_num, napoli_player)}
{k:v for k, v in zip(napoli_num, napoli_player) if k < 50}