티스토리 뷰

10.2.3 리스트를 위한 함수(Functions for Lists)

- 몇몇 파이썬 내장(built-in) 함수들은 리스트와 함께 쓸 수 있다.

- 예를 들어, len 함수를 이용해 리스트 요소의 갯수를 반환받을 수 있고, max/min 함수를 이용해 리스트의 가장 큰 요소와 작은 요소를 반환받을 수 있다.

- sum 함수를 이용해 모든 리스트 요소들의 합을 반환받을 수 있다.

- shuffle 함수를 이용해 리스트의 요소들을 랜덤으로 섞을 수 있다.

- 아래에 그 예가 있다.

 

*리스트를 위한 함수 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import random
 
list1 = [2,3,4,1,32]
printlen(list1) )# 5
 
print( max(list1) )# 32
 
print( min(list1) )# 1
 
print( sum(list1) )# 42
 
random.shuffle(list1) # list1의 요소들을 모두 섞는다.
 
print(list1)
cs

<실행 결과>

 

10.2.4 인덱스 연산자 [ ] (Index Operator [ ])

- 아래의 형식으로 인덱스 연산자( [ ] )를 이용해 리스트의 요소에 접근 할 수 있다.

 

*인덱스 연산자 사용 형식

myList[index]

- 리스트의 시작 인덱스0이고 끝 인덱스 len(myList)-1 이다.

- myList[index]여느 변수처럼 사용하면 된다.

- 예를 들어 myList[2]에 myList[0]과 myList[1]를 더한 값을 넣고 싶다면 아래와 같이 하면 된다.

 

*예시

myList[2] = myList[0] + myList[1]

 

- 파이썬은 음수 인덱스를 지원한다. 음수 인덱스는 리스트의 끝에서 부터 위치를 가르킨다.

 

>>> list1 = [2, 3, 5, 2, 33, 21]  

>>> list1[-1]

21

>>> list1[-3]

2

>>>

 

- list1[-1]은 list[-1 + len(list1)]과 같은 의미이다. 이는 마지막 요소를 가르킨다.

- list1[-3]은 list[-3 + len(list1)]과 같은 의미이다. 이는 뒤에서 세번째 요소를 가르킨다.

 

10.2.5 리스트 슬라이싱(List Slicing [start : end])

- 인덱스 연산자는 특정위치의 요소들을 선택할 수 있다.

- 슬라이싱 연산자(slicing operator) list[start : end] 문법을 이용해 리스트의 부분(slice)을 반환한다.

- 이 슬라이스(slice)는 인덱스 start 부터 end-1까지의 서브리스트를 의미한다.

- 아래에 예제가 있다.

 

>>> list1 = [2, 3, 5, 7, 9, 1]

>>> list1[2 : 4]

[5, 7]

>>>

 

- 또 다른 케이스로 시작 인덱스끝 인덱스작성하지 않을 수 있다.

 

>>> list1 = [2, 3, 5, 2, 33, 21]

>>> list1[ : 2]

[2, 3]

>>> list1[3 : ]

[2, 33, 21]

>>>

- list1[ : 2]는 list1[0 : 2]를 의미한다.     

- list1[3 : ]은 list1[3 : len(list1)]을 의미한다.

 

- 음수 인덱스를 이용할 수 도 있다.

 

>>> list1 = [2,3,5,2,33,21]
>>> list1[1 : -3]
[3, 5]
>>> list1[-4 : -2]
[5, 2]

>>

- list1[1 : -3]은 list1[1 : -3 + len(list1)]와 같은 의미이다. 

- list1[-4 : -2]은 list1[-4 + len(list1) : -2 + len(list1)]와 같은 의미이다.

 

10.2.6 +, *, in/not in 연산자(The +, *, and in/not in Operators)

- 연결 연산자( + )를 이용해 두 리스트를 연결할 수 있다.

- 반복 연산자( * )를 이용해 리스트의 원소를 반복할 수 있다.

 

>>> list1 = [2, 3]

>>> list2 = [1, 9]

>>> list3 = list1 + list2 4

>>> list3

[2, 3, 1, 9]

>>>

>>> list4 = 3 * list1

>>> list4 9

[2, 3, 2, 3, 2, 3]

>>>

 

- in/not in 연산자를 이용해 요소가 리스트에 있는지 없는지 확인 할 수 있다.

 

>>> list1 = [2, 3, 5, 2, 33, 21]

>>> 2 in list1

True

>>> 2 not in list1

False

>>>

 

10.2.7 for 루프를 이용해 요소 순환하기(Traversing Elements in a for Loop)

- 파이썬의 리스트 요소들은 반복이 가능하다. 그리고 for 루프문을 지원한다.

- for 루프 문은 리스트의 요소에 인덱스 변수 선언 없이 순차적으로 순환할 수 있게 해준다.

 

* for 루프 사용 형식

for u in myList:

print(u)

 

- 위 의미는 "myList에 있는 각 요소들을 출력하라"는 의미이다.

- 하지만 만약에 리스트에 조금 다른 명령을 내리거나 요소를 바꾸고 싶을 때, 여전히 인덱스 변수를 사용해야만 한다.

 

* 홀수 위치의 요소만 출력하기

myList = [1,2,3,4,5,6,7,8,9,10]

for i in range(0, len(myList), 2):

print(myList[i])

>>

1

3

5

7

9

 

참고 문헌 : Introduction to Programming Using Python / Y.DANIEL LIANG



본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.


교재 영어 원서를 직접 번역하여 정리한 게시물이므로 일부 오타, 의역이 존재할 수 있습니다. 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다. 

댓글