티스토리 뷰
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]
print( len(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
※
본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.
교재 영어 원서를 직접 번역하여 정리한 게시물이므로 일부 오타, 의역이 존재할 수 있습니다. 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다.
※
'파이썬 > 이론' 카테고리의 다른 글
[파이썬]리스트 복사, 함수에 리스트 전달하기 (0) | 2018.01.02 |
---|---|
[파이썬]리스트 기초(3) (0) | 2017.12.30 |
[파이썬]리스트 기초(1) (0) | 2017.11.22 |
[파이썬]연산자 오버로딩과 특수메소드, Rational 클래스(유리수) (2) | 2017.08.24 |
[파이썬]회문 검사(Palindromes), 진수 변환(16진수 → 10진수) (0) | 2017.08.21 |
- Total
- Today
- Yesterday
- 파이썬 while
- css
- 버츄어박스
- 파이썬 연산자
- css 박스
- 백준 11501
- 파이썬 문자열
- 파이썬
- 파이썬 if문
- 파이썬 함수
- 파이썬 선택문
- 백준
- 파이썬 진수 변환
- 파이썬 단계적 개선
- 백준 1874
- 파이썬 for
- 자바스크립트 자료구조
- 자바
- 백준 10451
- 파이썬 클래스
- 파이썬 객체
- css 그리드
- 파이썬 리스트
- 웹
- 자바 에센셜 실습문제
- 자바스크립트 그래프
- 파이썬 예제
- 명품 c++ 실습
- 자료구조
- 파이썬 터틀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |