- 비어있는 리스트 초기화
# 비어있는 리스트 초기화
test = []
- 값이 주어진 초기화
# 값이 주어진 초기화
test = [1,2,3,4]
test2 = ['2','a','b']
test3 = [[2,3],[3,1],[4,2]]
- 1차원 리스트 초기화
- for문 사용 -> 컴프리헨션 사용X
초기화하는데 코드가 길어진다.
# 리스트 컴프리헨션 X 초기화
test = []
for i in range(5):
test.append(0)
#[0, 0, 0, 0, 0]
- 컴프리헨션 사용 O
# 리스트 컴프리헨션 O
test = [ 0 for i in range(5)]
#[0, 0, 0, 0, 0]
- 2차원 리스트 초기화
2차원 리스트를 초기화 할 때는 반드시 컴프리헨션을 사용해야 한다.
- 컴프리헨션 사용X -> ERROR
# 2차원 리스트 초기화
# 리스트 컴프리헨션 사용X -> 문제 발생
test = [[0]*3]*5
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
test[2][1] = 3
# [[0, 3, 0], [0, 3, 0], [0, 3, 0], [0, 3, 0], [0, 3, 0]]
- 컴프리헨션 사용O
# 2차원 리스트 초기화
# 리스트 컴프리헨션 사용O
test = [[0]*3 for _ in range(5)]
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
test[2][1] =3
#[[0, 0, 0], [0, 0, 0], [0, 3, 0], [0, 0, 0], [0, 0, 0]]
- 다양한 리스트 초기화
- 1~10까지 숫자 리스트 초기화
test = [i for i in range(1,11)]
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 행과 열이 주어졌을때 1부터 순서대로 채워지는 리스트
rows = 3
columns = 5
matrix = [[(i*columns+j+1) for j in range(columns)] for i in range(rows)]
#[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
'Study > Python study' 카테고리의 다른 글
[Python(파이썬)] 2차원 리스트를 1차원으로 만들기 (0) | 2021.08.25 |
---|---|
[Python(파이썬)] range, enumerate 함수 (0) | 2021.08.20 |
[Python(파이썬)] 팩토리얼(factorial) 구현 (0) | 2021.07.21 |
[Python(파이썬)] 세트(set) (0) | 2021.07.15 |
[Python(파이썬)] filter(), enumerate() - 찾고자하는 item의 index 모두 찾기 (0) | 2021.07.12 |
댓글