코딩하는 해맑은 거북이
[Python] 리스트(list) 생성, 수정, 추가, 제거, 병합, 순서 뒤집기 본문
해당 글은 리스트(list)의 생성, 수정, 추가, 제거, 병합, 순서 뒤집기를 다룬다.
1. 리스트 생성
- 대괄호[ ]를 통해 콤마(,)로 구분하여 직접 생성한다.
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- list(range(start, end, step) : range() 함수를 통해 지정한 범위의 숫자형 리스트를 생성
b = list(range(1, 11)) # list((1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
print(b)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2. 리스트 수정
- 인덱스를 이용해 리스트의 값을 수정한다.
list_A = ['A', 'B', 'C', 'D']
print(list_A)
list_A[0] = 'a'
print(list_A)
list_A[1:3] = ['E', 'F']
print(list_A)
['A', 'B', 'C', 'D']
['a', 'B', 'C', 'D']
['a', 'E', 'F', 'D']
3. 리스트 추가 : append(), insert()
- 리스트.append(추가할값) : 리스트의 맨 마지막에 값을 추가한다.
list_A = ['A', 'B', 'C', 'D']
list_A.append('E') # 맨 마지막에 값 추가
print(list_A)
['A', 'B', 'C', 'D', 'E']
- 리스트.insert(인덱스, 추가할값) : 지정한 위치에 값을 추가한다.
list_A = []
list_A.append('A')
list_A.append('B')
list_A.append('D')
print(list_A)
list_A.insert(2, 'C')
print(list_A)
['A', 'B', 'D']
['A', 'B', 'C', 'D']
4. 리스트 제거 : pop(), del, remove()
- 리스트.pop() : 리스트의 맨 마지막 값을 제거한다.
list_A = ['A', 'B', 'C', 'D']
list_A.pop() # 맨 마지막 값 제거
print(list_A)
['A', 'B', 'C']
- del 리스트[인덱스] : 지울 값의 인덱스를 통해 제거한다.
list_A = ['A', 'B', 'C', 'D']
del list_A[0]
print(list_A)
['B', 'C', 'D']
- 리스트.remove(값) : 지울 값을 통해 제거한다.
list_A = ['A', 'B', 'C', 'D']
list_A.remove('C')
print(list_A)
['A', 'B', 'D']
만약, 지울 값이 중복이라면 index가 앞선 순으로 제거된다.
list_A = ['A', 'B', 'C', 'D', 'C'] # 'C' 값 중복
list_A.remove('C')
print(list_A)
['A', 'B', 'D', 'C']
5. 리스트 병합 : + 연산자, extend()
- 리스트1 + 리스트2 : '+' 연산자를 통해 병합한다.
list_A = ['A', 'B', 'C', 'D']
list_B = ['E', 'F', 'G']
new_list = list_A + list_B
print(new_list)
['A', 'B', 'C', 'D', 'E', 'F', 'G']
- 리스트1.extend(리스트2) : 리스트1에 리스트2를 병합한다.
list_A = ['A', 'B', 'C', 'D']
list_B = ['E', 'F', 'G']
list_A.extend(list_B)
print(list_A)
['A', 'B', 'C', 'D', 'E', 'F', 'G']
6. 리스트 정렬 : sort(), sorted()
- 리스트.sort(기준) : 리스트를 기준(오름차순/내림차순, key)에 따라 정렬한 리스트로 변경한다.
list_C = [3, 5, 6, 2, 7, 1, 8, 4, 9]
list_C.sort() # 오름차순
print(list_C)
list_C.sort(reverse=True) # 내림차순
print(list_C)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1]
fruits = ['apple','peach', 'banana','orange', 'pear']
fruits.sort() # 오름차순
print(fruits)
fruits.sort(key=len) # key = 정렬기준 / len(길이 기준으로 정렬)
print(fruits)
['apple', 'banana', 'orange', 'peach', 'pear']
['pear', 'apple', 'peach', 'banana', 'orange']
- sorted(리스트) : 리스트를 정렬한 새로운 리스트를 생성한다.
fruits = ['apple','peach', 'banana','orange', 'pear']
print(sorted(fruits))
print(fruits) # 기존 리스트 값은 변경되지 않음
['apple', 'banana', 'orange', 'peach', 'pear']
['apple', 'peach', 'banana', 'orange', 'pear']
7. 리스트 순서 뒤집기 Reverse
- 리스트.reverse() ; 리스트의 인덱스 기준으로 역방향으로 정렬하여 변경한다.
즉, 기존 리스트를 Reverse 한다.
fruits = ['apple','peach', 'banana','orange', 'pear']
fruits.reverse()
print(fruits)
['pear', 'orange', 'banana', 'peach', 'apple']
'Python > 기본' 카테고리의 다른 글
[Python] 리스트(list) 복사, 얕은 복사(Shallow Copy), 깊은 복사(Deep Copy) (0) | 2021.01.19 |
---|---|
[Python] 리스트(list) 길이, 리스트 특정 값의 갯수, 리스트 집계 함수 (0) | 2021.01.19 |
[Python] 문자열 길이, 문자열 교체, 문자열 대/소문자 변환, 문자열 나누기, 문자열 공백 없애기, 문자열 문자열 체크 등 (0) | 2021.01.19 |
[Python] 문자열 결합, 문자열 인덱싱(Indexing), 문자열 슬라이싱(Slicing) (0) | 2021.01.19 |
[Python] 문자열 포맷팅 (String Formatting) (0) | 2021.01.18 |