Python/Syntax
2021. 8. 22. 14:49
리스트(List)
리스트는 순서가 있고 변경 가능한 자료의 집합이다.
중복을 허용한다.
대괄호로 묶는다.
문자열처럼 인덱싱과 슬라이싱을 할 수 있다.
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(nums[:]) print(nums[2:5]) print(nums[:4]) print(nums[6:]) print(nums[1:7:2]) print(nums[0]) ''' stdout [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [2, 3, 4] [0, 1, 2, 3] [6, 7, 8, 9] [1, 3, 5] 0 '''
기존 값을 삭제하면서 동시에 새로운 값을 삽입할 수 있다.
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] nums[2:5] = [20, 30, 40] print(nums) nums[6:8] = [60, 70, 80, 90] print(nums) ''' stdout [0, 1, 20, 30, 40, 5, 6, 7, 8, 9] [0, 1, 20, 30, 40, 5, 60, 70, 80, 90, 8, 9] '''
nums = [1, 2, 3, 4] nums[2:2] = [90, 91, 92] # 새로운 값들을 삽입 print(nums) nums = [1, 2, 3, 4] nums[2] = [90, 91, 92] # 지정한 위치의 엘리먼트에 리스트 대체 print(nums) ''' stdout [1, 2, 90, 91, 92, 3, 4] [1, 2, [90, 91, 92], 4] '''
+
,*
기호를 지원한다.list1 = [1, 2, 3, 4, 5] list2 = [10, 11] listadd = list1 + list2 print(listadd) listmulti = list2*3 print(listmulti) ''' stdout [1, 2, 3, 4, 5, 10, 11] [10, 11, 10, 11, 10, 11] '''
컴프리핸션
내부의 리스트를 순회하며 각 요소에 대한 수식을 적용하여 최종 요소를 생성한다.
[수식 for 변수 in 리스트 if 조건]
nums = [ n*2 for n in range(1, 11)] for i in nums: print(i, end = ', ') ''' stdout 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, '''
메서드
메서드 | 설명 |
---|---|
.append(값) | 리스트 끝에 값 추가 |
.insert(위치, 값) | 지정한 위치에 값 삽입 |
.extend(리스트2) | 원본 리스트 뒤에 리스트2를 붙인다. |
list1 + list2 | extend는 원본을 변경하고, 이건 붙여서 새로운 리스트로 리턴한다. |
.remove(값) | 리스트에서 값을 찾아 첫번째 해당 요소를 제거, 없으면 예외 발생 |
del(리스트[인덱스]) | 지정한 인덱스의 요소 제거 |
[시작:끝] = [] | 지정 범위 요소 제거 |
.pop() | 리스트 끝 요소를 삭제하고 해당 요소를 리턴 |
.pop(인덱스) | 지정한 인덱스의 요소를 삭제하고 해당 요소를 리턴 |
.index(값) | 값을 찾아 해당 인덱스를 리턴, 없으면 예외 발생 |
.count(값) | 값이 리스트에 포함된 횟수 리턴 |
len(시퀀스) | 시퀀스의 길이 리턴 |
max(시퀀스) | 요소 중 최댓값 리턴 |
min(시퀀스) | 요소 중 최솟값 리턴 |
값 in 시퀀스 | 값이 시퀀스에 포함되어 있으면 True |
값 not in 시퀀스 | 값이 시퀀스에 포함되지 않으면 True |
.sort([reverse=True][key=키에 적용할 함수]) | 리스트를 정렬한다. reverse 옵션으로 내림차순 정렬도 가능하다. key에 적용할 함수에서 리턴하는 값을 통해 비교한다. |
.reverse() | 리스트를 역순으로 재배치 |
sorted(시퀀스) | 지정한 시퀀스를 정렬하여 새로운 리스트로 리턴 |
score = [88, 95, 70, 100, 99]
score.sort()
print(score)
score.reverse()
print(score)
score = [88, 95, 70, 100, 99]
score.sort(reverse=True)
print(score)
country = ["Korea", "japan", "CHINA", "america"]
country.sort()
print(country)
country.sort(key = str.lower)
print(country)
''' stdout
[70, 88, 95, 99, 100]
[100, 99, 95, 88, 70]
[100, 99, 95, 88, 70]
['CHINA', 'Korea', 'america', 'japan']
['america', 'CHINA', 'japan', 'Korea']
'''
'Python > Syntax' 카테고리의 다른 글
파이썬 사전(Dictionary) (0) | 2021.08.22 |
---|---|
파이썬 튜플(Tuple) (0) | 2021.08.22 |
파이썬 함수 (0) | 2021.08.22 |
파이썬 반복문 (0) | 2021.08.22 |
파이썬 조건문 (0) | 2021.08.22 |