코딩하는 해맑은 거북이

[Python] 리스트(list) 생성, 수정, 추가, 제거, 병합, 순서 뒤집기 본문

Python/기본

[Python] 리스트(list) 생성, 수정, 추가, 제거, 병합, 순서 뒤집기

#CJE 2021. 1. 19.
해당 글은 리스트(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']

 

Comments