-
30 - 중첩 리스트와 전개 연산자study with Q - 파이썬 2024. 3. 31. 11:14
#n-차원 리스트
- 1차원 리스트
: [0, 1, 2] 와 같이 한 겹으로 감싸진 리스트 - 2차원 리스트
: [[0, 1, 2] [3, 4, 5]]와 같이 두 겹으로 감싸진 리스트 - ...
- n차원 리스트
: n겹으로 감싸진 리스트
#그래서
a = [[0, 1, 2], [3, 4, 5], [6, 7]] for i in a: print(i) >>> [0, 1, 2] [3, 4, 5] [6, 7] for i in a: for j in i: print(j) >>> 0 1 2 3 4 5 6 7
순서에 따라 바뀌는거 주의
더보기a = [[0, 1, 2], [3, 4, 5], [6, 7]] for i in a: print(i) for j in i: print(j) >>> [0, 1, 2] 0 1 2 [3, 4, 5] 3 4 5 [6, 7] 6 7
#전개 연산자
: 리스트 앞에 *기호를 사용하여 작성
: 리스트 요소를 전개하여 입력한 것과 같은 효과: (1) 리스트 내부에 사용
(2) 함수의 매개 변수 위치에 사용(1) 리스트 내부에서의 사용
l = ["쿵", "짝", "짝"] r = [*l, *l] print(r) >>> ['쿵', '짝', '짝', '쿵', '짝', '짝']
저딴걸 어따써라고 생각할 수 있지만* 파괴적 함수인 append, extend와의 비교
l = ["쿵", "짝", "짝"] le = ["쿵", "짝", "짝"] l.extend(le) print(l)
→ 파괴적 함수에서는 !l*이 파괴되어 기존의 !l*의 형태가 남아있지 않는 것에 반해, 전개연산자를 사용한 경우는 !l*d의 내용에 변화가 없음.
(2) 함수의 매개 변수 위치에 사용
리스트 요소를 하나하나 입력하는 것처럼 전개됨
da = [2021, 12, 2] print(*da) >>> 2021 12 2
그래서 format함수와 함꺠 요렇게도 사용 가능
date = [2024, 3, 31, 11, 11] print("{}년 {}월 {}일 {}시 {}분".format(*date)) >>> 2024년 3월 31일 11시 11분
aka 이렇게 하나하나 풀었던 과거는 이제 안녕더보기date = [2024, 3, 31, 11, 11] print("{}년 {}월 {}일 {}시 {}분".format(date[0], date[1], date[2], date[3], date[4]))
'study with Q - 파이썬' 카테고리의 다른 글
32- 딕셔너리와 반복문 (0) 2024.04.09 31- 4-01 확인문제 (0) 2024.03.31 29- for 반복문과 리스트 (1) 2024.03.31 28 - 리스트의 함수 (1) 2024.03.27 27 - 수열, 배열, 리스트 (0) 2024.03.22 - 1차원 리스트