여름방학을 맞아 코테 준비도 하고 파이썬도 오랜만에 복습하고자 코덕 파이썬 스터디에 참여하게 되었다! 근데 아직 벨로그 어떻게 쓰는건지 잘 모르겠다. 나중에 좀 더 알아보고 수정해야겠다...
//list를 사용하지 않았을 경우
person1_name = 'p1'
person1_age = '20'
person1_address = '서울'
person2_name = 'p2'
person2_age = '24'
person2_address = '부산'
//list를 사용할 경우
person_list = [['p1', 20, '서울'], ['p2', 24, '부산']]
이처럼 list를 사용하는 편이 훨씬 간단함.
주요 7개 타입을 모두 쓸 수 있음
(주요 7개 타입 = 정수, 실수, 문자, list, tuple, set, dict)
list = list(1, 2)
print(list)
-> [1, 2]
index는 0부터 붙여짐
index를 이용한 참조 방법 -> list[n]
set은 index로 접근 불가
list 안의 list/tuple 참조 방법 -> list[n][m]
(여기서 n은 제일 바깥의 list 참조, m은 n의 요소 중 하나인 list 참조)
요소의 index 검색 -> list_index = list.index(n)
reverse-index
list = [ 1, 2, 3, 4, 5 ]일 때,
list[4] = list[-1], list[3] = list[-2]임
이를 이용해 맨 마지막 요소에 쉽게 접근 가능
sort( )
sorted( )
추가
list.append(요소)
수정
list[n] = 요소
삭제
del list[n]
서로 다른 두 list 병합
a = [ 1, 2, 3 ], b = [ 4, 5, 6 ]
c = a + b
c = [ 1, 2, 3, 4, 5, 6 ]
한 list를 여러 번
a = [ 1, 2, 3 ]
b = a*3
b = [ 1, 2, 3, 1, 2, 3, 1, 2, 3 ]
list = [ 1, 2, 3, 3 ] -> set(list) -> list = [ 1, 2, 3 ]
이때 순서는 계속 뒤죽박죽 섞임
list comprehension -> list를 보다 더 쉽게 만드는 방법
// [1] 1부터 10까지 list에 넣기
list = [1]
list = [1, 2] //10까지 반복
// [2] 반복문을 통해 자동으로 list 생성
list = [ ]
for i in range(1, 11):
b.append(i)
// [3] 더 함축
list = [i for i in range(1, 11)] // i가 append 역할
// [4] 대괄호 사용 X
list = list(i for i in range(1, 11))
// [5] 조건이 있는 경우
list = [i for i in range(1, 11) if i != 5]
// [6] 중간에 다른 함수 사용
list = [my_func(abs(i)) for i in [1, 2, 3, 4, 5]]
for i in range(len(list)):
print(list[i])
// [1] 같은 요소가 반복
list = [ i for i in range(3) for j in range(3)]
// 출력: list = [0, 0, 0, 1, 1, 1, 2, 2, 2]
// [2] 튜플 형식
list = [(i, j) for i in range(3) for j in range(3)]
// 출력: list = [(0,0), (0,1), ..., (2, 1), (2, 2)]
왜 저렇게 되는지 이해 못함,,
요소 형식 - key : value
key - index 역할 (dict에는 index가 없음), 중복 불가
value - 중복 가능, 배열 객체도 value가 될 수 있음
빈 dict 생성
출력
f문자열 포매팅
1. %d, %s ...
2. '{}'.format()a = 1 b = 2 c = '{} * {} = {}'.format(a, b, a*b)
- '{변수명}'.format(변수명 = 값)
a = 1 b = 2 c = '{x} * {y} = {z}'.format(x = a, y = b, z = a*b)
- 변수 = f'{변수}'
a = 1 b = 2 c = f'{a} * {b} = {a*b}'
4번을 많이 사용하는 듯!