파이썬

리스트 기본 개념, 2차원 리스트

주니코니 2023. 7. 8. 22:20

프로그래밍 언어 중 파이썬에서 주목할 점은 리스트!

리스트를 제대로 알아보자.

 

비어 있는 리스트 만들기

변수 = 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]]