본문 바로가기

Python 기초

[파이썬] 리스트 (List): 함수, 메소드 정리

반응형

리스트 관련 함수 및 메소드

파이썬 리스트에 대해서 알아보고 테스트 하며 알게된 함수 및 메소드만 따로 정리 해 놓았습니다.

 

필요에 맞게 쉽게 찾아 사용하시길 바라며, 추가 사항이 있을 때 마다 업데이트 하도록 하겠습니다.

 

 

 

# 리스트 길이 확인 하기

len (변수명)

 

리스트를 구성하는 요소의 총 개수를 알려줍니다.

 

fruit = [ "사과", "포도", "바나나", "아보카도", "딸기", "키위" ]

print (len(fruit))			# fruit 리스트에 있는 요소가 전부 몇개야?
6

 

 

# 리스트 값의 반복 횟수 확인 하기

변수명.count (요소 값)

 

해당 요소 값이 리스트에서 몇 개 있는지 알려줍니다.

 

fruit = [ "사과", "포도", "바나나", "아보카도", "포도", "포도" ]

print (fruit.count("포도"))		# fruit 리스트에서 "포도"가 몇개 있어?
3

 

 

# 리스트 요소 값 변경 하기 

변수명 [index] = "변경 할 값"

 

1개 값만 변경 하거나, 슬라이싱을 이용하여 여러 값을 한번에 변경 가능합니다.

 

fruit = [ "사과", "포도", "바나나", "아보카도", "딸기", "키위" ]

fruit [2] = "grape"   		# fruit 리스트에서 index 2번 요소 값을 "grape"로 바꿔줘

print (fruit)
['사과', '포도', 'grape', '아보카도', '딸기', '키위']

 

fruit = [ "사과", "포도", "바나나", "아보카도", "딸기", "키위" ]

# fruit 리스트에서 index 0 ~ 2번 요소 값을 "apple", "grape", "banana" 로 순서대로 바꿔줘

fruit [:3] = ["apple", "grape", "banana"]		

print (fruit)
['apple', 'grape', 'banana', '아보카도', '딸기', '키위']

 

 

# 리스트 값 삭제하기 (1)

del변수명[index]

 

1개 값만 삭제 하거나, 슬라이싱을 이용하여 여러 값 한번에 삭제 가능합니다.

 

fruit = ['apple', 'grape', 'banana', '아보카도', '딸기', '키위']

del fruit [0]		# fruit 리스트에서 index 0번 값 삭제 해

del fruit [-2:]		# fruit 리스트에서 index -2 ~ -1번 값 삭제 해

print (fruit)
['grape', 'banana', '아보카도']

 

 

# 리스트 값 삭제하기 (2)

변수 .remove (요소 )

 

remove 함수는 리스트 내에서 첫번째로 일치하는 값을 삭제합니다.

 

del 함수는 index를 사용하지만, remove 메소드는 요소 값(value)를 사용합니다.

 

fruit = [ "사과", "포도", "바나나", "아보카도", "포도", "포도" ]

fruit.remove("포도")		# fruit 리스트에서 "포도"와 일치 하는 값을 삭제 해

print (fruit)
['사과', '바나나', '아보카도', '포도', '포도']	# 리스트에 있던 "포도" 중 맨 첫번째 "포도"가 삭제됩니다.

 

 

# 리스트 값 삭제하기 (3)

변수 명.pop (index)

 

pop 메소드는 index 위치의 값을 꺼낸 뒤(반환 return), 해당 요소를 삭제 합니다.

 

변수 명.pop( ) : index 생략 가능 하며, 이는 맨 마지막 요소의 반환과 삭제를 의미합니다.

 

fruit = ['apple', 'grape', 'banana', '아보카도', '딸기', '키위']

item = fruit.pop(0)		# friut 리스트에서 index 0번을 꺼내서 item 변수에 저장하고 삭제해

print (item)			# item 변수 보여줘

print (fruit)			# friut 변수 보여줘
apple

['grape', 'banana', '아보카도', '딸기', '키위']

 

 

# 리스트에 값 추가하기 (1)

변수 명.append(추가 값)

 

append 함수는 값을 리스트의 맨 마지막 위치에 추가 합니다.

 

fruit = ['아보카도', '딸기', '키위']

fruit.append("망고")			# fruit 리스트에 "망고"를 추가해줘

print (fruit)
['아보카도', '딸기', '키위', '망고']			# 리스트의 맨 뒤에 값을 추가합니다

 

 

# 리스트에 값 추가(삽입) 하기 (2)

변수 명.insert(index, 삽입 값)

 

append 함수와 달리 insert 함수는 원하는 index 위치에 값을 추가합니다.

 

fruit = ['아보카도', '딸기', '키위', '망고']

fruit.insert(1, "banana")			# fruit 리스트에서 index 1번 위치에 "banana"를 추가해

print (fruit)
['아보카도', 'banana', '딸기', '키위', '망고']		# 지정한 index 1번 자리에 값을 추가 합니다

 

 

# 리스트 값 정렬 하기(1)

변수명.sort ( )

 

기본 값은 오름 차순 정렬입니다.

 

.sort (reverse=True) 와 같이 조건을 적으면 내림 차순 정렬 합니다.

 

.sort 메소드는 리스트 자료형에만 사용 가능합니다.

 

한글과 영어가 함께 있는 경우, 영어 우선입니다.

 

문자와 숫자가 함께 있는 경우, .sort 메소드 사용 불가합니다.

 

sort 메소드는 원본 리스트 데이터를 변경 합니다. (return 값 = none)

 

fruit = ['아보카도', 'banana', '딸기', '키위', '망고']

fruit.sort()				# fruit 오름차순 정렬해
print (fruit)				# fruit 보여줘

fruit.sort(reverse=True)		# fruit 내림차순 정렬해
print (fruit)				# fruit 보여줘
['banana', '딸기', '망고', '아보카도', '키위']  	# 각각 정렬된 상태로 fruit 리스트가 원본과 달라졌습니다

['키위', '아보카도', '망고', '딸기', 'banana'] 

 

price = [ "사과", 1000, "포도", 8700, "바나나", 4300 ]

price.sort()
print (fruit)
TypeError: '<' not supported between instances of 'int' and 'str'

# 숫자와 문자는 함께 정렬 할 수 없습니다

 

 

# 리스트 값 정렬 하기(2)

sorted(변수 명)

 

.sort 메소드와 달리 원본 리스트를 변경하지 않습니다.

 

sorted 함수는 정렬된 새 리스트 생성, 반환(return) 합니다.

 

리스트 이외의 자료형에서도 사용 가능합니다 (eg; 문자열, 사전, 튜플 등)

 

fruit = ['아보카도', 'banana', '딸기', '키위', '망고']

sorted(fruit)				# fruit 오름차순 정렬해
print (fruit)				# fruit 보여줘
['아보카도', 'banana', '딸기', '키위', '망고']		 # 순서 변화 없네요

- sorted(fruit) 명령으로 정렬 시켰으나, print (fruit)로 출력하여도 리스트는 변함이 없습니다.

 

 

fruit = ['아보카도', 'banana', '딸기', '키위', '망고']

fruit_order = sorted(fruit)			# fruit 오름차순 정렬하고 fruit_order에 저장해

print (fruit_order)				# fruit_order 보여줘
['banana', '딸기', '망고', '아보카도', '키위']		# 정렬과 함께 새로운 리스트로 저장 되었습니다!

- sorted 함수는 기존 리스트에는 영향이 없으며, 새로운 리스트를 반환함으로 새 변수에 저장하여 확인 가능합니다.

 

 

반응형