23. 파이썬 - list1

2024. 7. 6. 20:243층 1구역 - 개발의 장/Python 프로그래밍 핵심 개념

1. 서론

my_num = 7
my_str = "Hello!"
my_bool = True

 

파이썬에 대해 배우면서 위와 같이 왼쪽 변수에 오른쪽 값을 '하나씩' 담았었다.

그러면 하나의 변수에 여러 개의 값을 담고 싶다면 어떻게 해야 할까?

 

2. 본론

리스트(List)라는 것을 사용해보고자 한다.

numbers = [2, 3, 5, 7, 11, 13]
names = ["윤수", "혜린", "태호", "영훈"]

 

위와 같이 numbers변수는 numbers 리스트 라고 부르며, 그 안에 2, 3, 5, 7, 11, 13은 하나하나 요소라고 한다.

names 또한 리스트 라고 하며 '윤수', '혜린', '태호', '영훈'은 하나하나 요소이다.

 

리스트에 저장되어 있는 요소의 순서를 인덱스라고 하고, 인덱스를 통해 요소를 받아오는 것을

인덱싱(indexing)이라고 한다.

 

print(names[1])

 

위 코드의 결과는 무엇이 나올까?

 

 

?? 윤수가 나올 줄 알았는데 혜린이 결과로 나왔다.

이유는 리스트에 담겨있는 요소는 0부터 인덱스가 매겨진다.

그러니까 윤수가 결과로 나오기 위해선

 

print(names[0])

 

위와 같이 작성해야 한다.

 

num_1 = numbers[1]
num_3 = numbers[3]

print(numbers[1] + numbers[3])
print(num_1 + num_3)

 

각각 num_1, num_3변수에 numbers리스트의 1번 인덱스, 3번 인덱스 값을 넣어주었다.

결과는 어떻게 나올까??

 

 

numbers 리스트를 보면 현재 인덱스 5까지 숫자가 저장되어 있는데

만약 인덱스를 초과하는 값을 불러오면 어떻게 될까?

 

print(numbers[6])

 

 

인덱스의 범위를 초과하여 에러가 나온다.

 

그러면 인덱스는 0이 끝일까? 파이썬에는 마이너스(-) 인덱스가 존재한다.

 

print(numbers[-1])
print(numbers[-2])
print(numbers[-6])

 

 

print(numbers[-7])

 

그러면 -7 인덱스를 불러오게 되면??

 

역시 인덱스의 범위를 초과하여 에러가 나온다.

 

이번에는 요소를 하나씩 사용하는 것이 아니라 리스트의 일부를 통째로 잘라서 사용하는 방법을 알아보자.

리스트를 자르는 것을 리스트 슬라이싱(list slicing)이라고 한다.

 

print(numbers[0:4])
print(numbers[2:]) 
print(numbers[:3])

 

각각 결과를 예상해보자.

0:4 >> 인덱스 0번 요소부터 인덱스 4번 요소까지 출력될 것 같다.

2: >> 인덱스 2번 요소부터 인덱스 끝번 요소까지 출력될 것 같다.

:3 >> 인덱스 처음 요소부터 인덱스 3번 요소까지 출력될 것 같다.

 

결과를 보면?

 

결과가 예상한 것처럼 나오지 않았다.

 

0:4는 인덱스 0번 요소부터 인덱스 3번 요소까지 출력한다.(0이상 4미만)

2:는 예상한 거 처럼 나왔다.

:3은 인덱스 처음 요소부터 인덱스 2번 요소까지 출력되었다.(3미만)

 

이렇게 리스트 슬라이싱을 통해 만든 리스트를 새로운 리스트 변수에 넣어서 결과를 살펴볼 수도 있다.

new_list = numbers[:3]
print(new_list[2])

 

 

인덱스의 요소를 새로운 값으로 바꾸어 줄 수 있다.

numbers[0] = 7

 

 

원래 0번 인덱스의 요소는 2였는데 7로 바뀌었다.

 

numbers[0] = numbers[0] + numbers[1]

 

이번에는 0번 인덱스 요소의 값과 1번 인덱스 요소의 값을 더해보자.

원래 0번 인덱스 요소의 값은 2였고, 1번 인덱스 요소의 값은 3이다.

2 + 3이므로 0번 인덱스 요소의 값은 5로 바뀔 것이다.

 

3. 결론

'3층 1구역 - 개발의 장 > Python 프로그래밍 핵심 개념' 카테고리의 다른 글

25. 파이썬 - list3  (0) 2024.07.07
24. 파이썬 - list2  (0) 2024.07.06
22. 파이썬 - elif  (0) 2024.07.06
21. 파이썬 - if2  (0) 2024.07.06
20. 파이썬 - if1  (0) 2024.07.06