Coding/Python

[python] 리스트 관련 함수 ( 추가, 정렬, 뒤집기, 삭제)

dodomp0114 2021. 11. 19. 22:54
리스트 관련 함수

 

 

  • 데이터 추가 함수 ( append, insert, extend )

append, insert, exptend 설명 / 차이점

 

  • 리스트 데이터 정리 ( sort / sorted )

 

  • 리스트 데이터 뒤집기 ( reverse / reversed

 

  • 데이터 삭제 ( delete, pop, clear, remove )

delete, pop, clear, remove 설명 / 차이점

 

 

 

 


 

 

 

● 데이터 추가 함수

 

- append()

리스트의 마지막에 데이터를 추가하는 함수.

파라미터 값으로 단일 데이터 대신 리스트를 넣게 되면, 단일 데이터로 인식하게 됨.

(리스트와 같은 반복 가능 iterable 자료형 이더라도 하나의 객체로 저장됨.

 

A.append(n)

 

ex)

# 문자열 마지막에 데이터 추가.
>>> A = ['H', 'A', 'P', 'P']
>>> A.append('Y')
>>> print (A)
['H', 'A', 'P', 'P', 'Y']

# append를 이용하여 리스트안에 리스트를 넣게되면 하나의 데이터로 인식합니다.
>>> A = [1,2,3,4]
>>> A.append([5,6,7])
>>> print (A)
[1,2,3,4,[5,6,7]]

 

 

 

- insert()

리스트안에 원하는 위치에 데이터를 삽입하는 함수.

데이터를 삽입할 위치는 리스트의 인덱스 기준으로 기입. ( 음수를 넣으면 리스트의 끝부분이 기준.)

append() 함수와 마찬가지로 리스트같은 iterable 자료형 이더라도 하나의 객체로 저장.

 

 

A.insert(n1, n2)
  • n1 : 데이터를 삽입해줄 인덱스 숫자 (위치).
  • n2 : 삽입해주고 싶은 데이터 입력.

 

ex)

# 6이라는 숫자를 1번 인덱스 자리에 삽입
>>> A = [1,2,3,4,5]
>>> A.insert(1,6)
>>> print (A)
[1,6,2,3,4,5]

# len() 함수를 활용하여 리스트 끝에 데이터 삽입
>>> A = [1,2,3,4,5]
>>> A.insert(len(A),6)
>>> print (A)
[1,2,3,4,5,6]

# append 함수와 마찬가지로 리스트를 파라미터로 넣게되면, 하나의 데이터로 인식.
>>> A = [1,2,3,4,5]
>>> A.insert(0,[good,day])
>>> print (A)
[[good,day]1,2,3,4]

 

 

- extend()

append() 함수와 마찬가지로 기존 리스트 제일 마지막에 데이터 저장.

하지만 append와 insert함수와는 다르게 리스트같은 iterable 자료형만 파라미터로 이용가능.

 

 

Iterable.extend(Iterable)

 

ex)

## A 메소드에 iterable 자료형을 넣어, 기존 리스트 확장

>>> A = [1,2,3,4,5,6]
>>> A.extend([100,200])
[1,2,3,4,5,6,100,200]

## 기존 A 메소드 리스트에 iterable 자료형 메소드 추가.
>>> B = [999]
>>> A.extend(B)
[1,2,3,4,5,6,100,200,999]

 

## extend 함수로 리스트에 문자열 추가하기 ##

## 문자열 입력시 글자 하나하나로 나뉘어 짐 ##
>>> A = ['Hello', 'everyone']
>>> A.extend('wonderful day')
>>> A
['Hello', 'everyone', 'w', 'o', 'n', 'd', 'e', 'r', 'f', 'u', 'l', ' ', 'd', 'a', 'y']

## 리스트로 추가하면 정상적으로 삽입 ##
>>> A.extend(['bye'])
>>> A
['Hello', 'everyone', 'w', 'o', 'n', 'd', 'e', 'r', 'f', 'u', 'l', ' ', 'd', 'a', 'y', 'bye']

 

 


 

 

● 데이터 정렬 함수

 

-sort

리스트 자료형에서만 사용가능하며, 기존 리스트의 데이터를 정렬해 주는 함수.

sort 함수를 사용했을 때, 반환값은 NONE이며 원본 리스트가 변경됨.

 

 

list.sort( [key = function] , [reverse = True/ False] )

ex) 
A.sort( key = lambda x:x[0] , reverse = True )
  • key 값을 설정하여 sort 함수를 더 다양하게 사용 가능.
  • reverse 설정을 주어 거꾸로 정렬도 가능.
  • 정렬 기준은 문자열은 알파벳, 가나다순 / 숫자는 오름차순.

 

 

 

ex)

#######################################
## sort() 함수를 사용 하여 리스트 정렬 ##
#######################################

>>> A = [100,32,54,756,343,1]
>>> B = A.sort()
>>> print (B)
NONE
>>> print (A)
[1, 32, 54, 100, 343, 756]

## A 리스트에 sort 함수 적용시, 변환값은 NONE 이며 기존 리스트만 변경됨.

 

#####################
## fuction 값 적용 ##
#####################

## lambda 함수를 적용하여 첫번째 데이터 부터 알파벳 순으로 정리 ##
>>> list = [['k',1], ['a',6], ['b',2]]
>>> list.sort(key = lambda x:x[0])
[['a', 6], ['b', 2], ['k', 1]]

## lambda 함수를 적용하여 두번쩨 데이터부터 숫자 오름차순으로 정리 ##
>>> list = [['k',1], ['a',6], ['b',2]]
>>> list.sort(key = lambda x:x[1])
[['k', 1], ['b', 2], ['a', 6]]

 

##################
## reverse 적용 ##
##################

## 기본값 오름차순 대신 내림차순으로 정렬 ##

>>> list = [5,8,4,6,1,3,10]
>>> list.sort(reverse = True)
[10, 8, 6, 5, 4, 3, 1]

 

 

 

-sorted

sort 함수와 같이 리스트를 정렬할 때 쓰는 함수.

 

하지만 반환값을 none으로 주는 sort 함수 와는 다르게, 문자열이나 튜플에서도 사용이 가능하며

기존 리스트는 변하지않지만 변환값이 정렬되어 저장됨.

 

sorted ( "Iterable", [key = function] , [reverse = True/ False] )

ex) 
B = sorted( A, key = lambda x:x[0] , reverse = True )
  • key 값을 설정하여 sort 함수를 더 다양하게 사용 가능.
  • reverse 설정을 주어 거꾸로 정렬도 가능.
  • 정렬 기준은 문자열은 알파벳, 가나다순 / 숫자는 오름차순.

 

 

 

ex)

######################
## sorted 함수 사용 ##
######################

>>> A = [6,8,4,9,1,3,100,99]
>>> sorted(A)
[1, 3, 4, 6, 8, 9, 99, 100]

## 기존 A변수 안의 데이터에는 영향 X ##
>>> print (A)
[6, 8, 4, 9, 1, 3, 100, 99]

 

 

 

 


 

 

 

● 데이터 역출력 함수

 

- reverse

자료형 데이터를 오름차순으로 정렬해주는 함수.

 

숫자는 오름차순 문자열은 알파벳, 가나다 순으로 정렬

 

 

 

####################
## reverse() 함수 ##
####################

>>> A = [1,2,3,4,5,6,7,8,9]
>>> A.reverse()
>>> print (A)
[9, 8, 7, 6, 5, 4, 3, 2, 1]

 

 

 

 


 

 

 

● 데이터 삭제 함수

 

-delete ()

자료형에서 삭제하고 싶은 데이터를 인덱스로 지정하여 삭제.

 

del A[n]
  • A : 데이터를 부분적으로 삭제해줄 리스트 이름
  • n : 삭제해줄 데이터가 위치한 인덱스 번호

 

ex)

###################################
## del 함수를 사용하여 데이터 삭제 ##
###################################

## 0번째 인덱스 지정하여 데이터 삭제 ##
>>> A = [1,2,3,4,5,6]
>>> del A[0]
>>> print (A)
[2, 3, 4, 5, 6]

## 4번째 데이터 부터 전부 삭제 ##
>>> A = [1,2,3,4,5,6]
>>> del A[3:]
>>> print (A)
[1, 2, 3]

 

 

- pop ()

리스트에서 데이터를 뽑아 삭제한 뒤에 출력해주는 함수.

 

A.pop(n)
  • A : 데이터를 부분적으로 삭제해줄 자료형 입력.
  • n : 데이터 삭제후, 출력해주고 싶은 데이터 인덱스 번호 입력

 

ex)

###########################################
## pop() 함수를 사용하여 데이터 삭제후 출력 ##
###########################################

## 첫번째 데이터 삭제 후 출력 ##

>>> A = [1,2,3,4,5,6,7,8,9,10]
>>> A.pop(0)
1
>>> A
[2, 3, 4, 5, 6, 7, 8, 9, 10]

 

 

 

- clear ()

자료형에 저장되어 있는 모든 데이터를 삭제해주는 함수.

 

A.clear()
  • A : 안에 있는 모든 데이터를 삭제해주고 싶은 자료형 입력..

 

ex)

#######################################
## clear 함수를 사용하여 자료형 비우기 ##
#######################################

>>> A = [1,2,3,4,5,6,7]
>>> print (A)
[1, 2, 3, 4, 5, 6, 7]

>>> A.clear()
>>> print (A)
[]

 

 

 

- remove ()

자료형에서 삭제하고자 하는 데이터를 검색후, 삭제하는 함수.

 

 

A.remove(n)
  • A : 안에 있는 데이터를 찾아 삭제해줄 자료형 입력.
  • n : 검색하여 찾은뒤, 삭제 해줄 데이터를 입력.

 

ex)

##############################################
## remove 함수를 사용하여 데이터 검색 후, 삭제 ##
##############################################

## 숫자 검색 후 삭제 ##
>>> A = [1,2,3,4,5,6]
>>> A.remove(5)
[1, 2, 3, 4, 6]

## 문자열 검색 후 삭제 ##
>>> B = ['hello', 'welcome', 'to', 'my', 'blog']
>>> print(B)
['hello', 'welcome', 'to', 'my', 'blog']
>>> B.remove('hello')
>>> print (B)
['welcome', 'to', 'my', 'blog']