리스트 기본 개념, 2차원 리스트
프로그래밍 언어 중 파이썬에서 주목할 점은 리스트!
리스트를 제대로 알아보자.
비어 있는 리스트 만들기
변수 = list()
print(변수)
#출력값 : [ ]
2)
변수 = [ ]
print(변수)
원소가 있는 리스트 만들기
변수 = list(range(0,10)
print(변수)
#출력값 : [0,1,2,3,4,5,6,7,8,9]
인덱싱(리스트 요소 접근)
list1 = list(range(0, 10))
print(list1)
# 출력값 : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list[-1] # 인덱싱에서 -1은 맨 마지막 원소를 가르킴
print(list[-1])
# 출력값 : 9
슬라이싱(범위를 지정해서 원소 접근하기)
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[처음:마지막:step=1 *디폴트]
리스트 값 추가
1. 1개의 원소 더할 때
.append()
2. 2개 이상의 원소를 더할 때
.extend()
리스트 정렬
.sort()
* 디폴트 : 오름차순
* 내림차순 : sort(reverse= True)
2차원 리스트(행렬) 만들기 :
list comprehension(include)에 대해 살펴보자!
[ i for i in range(n)]
예시 :
[i for i in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[ print(i) for i in range(10)]
0
1
2
3
4
5
6
7
8
9
[None, None, None, None, None, None, None, None, None, None]
여기서는 왜 None 값이 출력될까?
1. 파이썬은 항상 괄호 가장 안쪽에 있는 코드부터 계산된다!
2. print()는 return 값이 None을 가진다
3. 그리고!
무엇보다 위 코드는 '주피터 노트북'(print()함수 생략되는)에서 실행했기 때문 음하하하 알아내따😍
-> 그래서
print([ print(i) for i in range(10)])
ex ) print(print(0) = > None
다른 예시도 살펴보자.
print(type(print(2)))
2
<class 'NoneType'>
type(print(2))
2
NoneType
list16 = [ i for i in range(10)]
print(list16)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
lst2 = [i for i in range(1,10,1)]
print(lst2)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
list17 = [ [ ] for i in range(10)]
print(list17)
[[], [], [], [], [], [], [], [], [], []]
list18 = [ [ j for j in range(10) ] for i in range(10)]
print(list18)
[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]