리스트 관련 함수
- index(item) : 리스트 안에서 해당 item의 index번호를 리턴, 없는 경우 ValueError
1 | a = ['수학', '과학', '영어', '국어'] |
-> 결과 : 2
- count(item) : 매칭되는 갯수를 리턴
ex)
1 | a = [1, 5, 4, 4, 1, 2, 9] |
-> 결과 : 2 1
- in 절로 list 안에 포함되어 있는지 확인 가능
1 | 5 in [1, 2, 3, 4, 5] # True |
리스트 원소 추가
- append(item) : 리스트의 마지막에 item 원소 추가
1 | a = [1, 2, 3, 4, 5] |
-> 결과 : [1, 2, 3, 4, 5, 6]
- insert(입력할 index, 값) : 원하는 index에 원소 삽입
1 | a = [1, 2, 3, 4, 5] |
-> 결과 : [1, 6, 2, 3, 4, 5]
- extend(추가할 리스트) : 리스트를 추가로 붙임. 인자로는 리스트만 가능, 원래의 리스트에 추가할 리스트를 더하게 됨.
1 | a = [1, 2, 3] |
-> 결과 : [1, 2, 3, 4, 5, 6]
리스트 원소 삭제
- del 키워드를 통한 삭제
1 | a = [1, 2, 3, 4, 5] |
-> 결과 : [1, 2, 4, 5]
- remove(item) : 리스트 내의 item 삭제, item이 없으면 ValueError
1 | a = [1, 2, 3, 4, 5] |
-> 결과 : [1, 2, 3, 5]
- del키워드와 list.index(item)을 같이 사용하면 remove처럼 사용 가능
1 | a = [1, 2, 3, 4, 5] |
-> 결과 : [1, 2, 3, 4]
- pop() : 리스트의 마지막 원소를 돌려주고 그 원소는 삭제한다.
- pop(x) : 리스트의 x번째 원소를 있는 반환하고 삭제
1 | a = [1, 4, 2, 10, 8, 5, 23] |
-> 결과 :
23 [1, 4, 2, 10, 8, 5]
2 [1, 4, 10, 8, 5, 23]
리스트 슬라이싱(Slicing)
리스트에서 일부 부분 요소들을 선택하기 위하여 슬라이스(Slice)를 사용한다. 슬라이스는 “리스트[처음인덱스:마지막인덱스]”와 같이 인덱스 표현에서 부분집합의 범위를 지정하는 것이다. 인덱스는 0 부터 시작하며, 마지막 인덱스를 원하는 “마지막 요소의 인덱스 + 1”을 의미한다. 만약 처음인덱스가 생략되면, 0 부터 시작되며, 마지막 인덱스가 생략되면, 리스트의 끝까지 포함됨을 의미한다.
1 | a = [1, 3, 5, 7, 9] |
-> 결과 : [3, 5] [1, 3] [7, 9]
리스트 정렬
- reverse() : 리스트를 거꾸로 뒤집음
1 | a = [1, 3, 5, 6, 10] |
-> 결과 : [10, 6, 5, 3, 1]
- sort() : 정렬, 기본 값은 오름차순 정렬, reverse=True 옵션 지정시 내림차순 정렬
1 | a = [1, 4, 2, 10, 8, 5, 23] |
결과 :
[1, 2, 4, 5, 8, 10, 23]
[23, 10, 8, 5, 4, 2, 1]
- sort의 key 옵션, key 옵션에 지정된 결과에 따라 정렬
1 | m = "My name is yeoungeon kwon" |
-> 결과 :
[‘My’, ‘name’, ‘is’, ‘yeoungeon’, ‘kwon’]
[‘My’, ‘is’, ‘name’, ‘kwon’, ‘yeoungeon’]
- sorted(list) : 순서대로 정렬, 정렬된 리스트를 반환
- 정렬된 결과를 반환하는 함수는 본체를 변형하지 않음.
1 | a = [1, 4, 2, 12, 8] |
-> 결과 : [1, 4, 2, 12, 8] [1, 2, 4, 8, 12]
- reversed(list) : 거꾸로 뒤집기, iterable한 객체를 반환, 확인을 위해 list로 형변환 필요
(iterable 의 의미는 member를 하나씩 차례로 반환 가능한 object를 말함. iterable 의 예로는 sequence type인 list, str, tuple 이 대표적이다. )
1 | a = [1, 4, 2, 12, 8] |
-> 결과 : [1, 4, 2, 12, 8] [8, 12, 2, 4, 1]
List Comprehension
리스트의[…] 괄호 안에 for 루프를 사용하여 반복적으로 표현식을 실행해서 리스트의 요소들을 정의하는 특별한 용법이 있는데, 이를 List Comprehension이라 한다. 이는 아래와 같은 문법으로 컬렉션으로부터 요소를 하나씩 가져와 표현식을 실행하여 그 결과를 리스트에 담는 방식이다. 여기서 if조건식은 옵션으로 추가될 수 있는데 for 루프에서 이 조건식에 맞는 요소만 표현식을 실행하게 된다.
- [표현식 for 요소 in 컬렉션 [if 조건식]]
아래 예제는 0~9의 숫자들 중 3으로 나눈 나머지가 0인 숫자를 제곱한 리스트를 구한 예이다.
1 | a = [n ** 2 for n in range(10) if n % 3 == 0] |
결과 : [0, 9, 36, 81]
참조
https://wikidocs.net/16041
http://pythonstudy.xyz/python/article/12-%EC%BB%AC%EB%A0%89%EC%85%98--List