파이썬(Python) 자료구조 ①리스트 - 관련 함수

반응형

리스트 주요 함수

더하기

리스트1 + 리스트2

리스트1.extend(리스트2)

# data1, data2 각각 리스트가 존재할 때 이를 합치려면?
data1 = ['a', 'b', 'c']
data2 = ['d', 'e']

# 첫 번째 - 그냥 더하기로
data1 += data2   # data1 = data1 + data2와 같은 뜻
print(data1)
['a', 'b', 'c', 'd', 'e']

# 두 번째 - extend 함수 활용
data1.extend(data2)
print(data1)
['a', 'b', 'c', 'd', 'e']

여기서 잠깐,

append 함수는 리스트와 리스트를 더하는 개념이 아니라 리스트에 값을 추가하는 개념이다. 

* append 함수란?

# append도 리스트를 합칠 순 있는데 위에 설명한 것과 개념이 조금 다르다.
# a와 b라는 리스트가 각각 존재한다.
a = [1, 2, 3]
b = [4, 5]

# append 함수를 써서 리스트a에 리스트b를 더하게 된다면?
a.append(b)
print(a)
[1, 2, 3, [4, 5]]  # 리스트a 내에 리스트b가 별도로 존재

# 결국 리스트b는 리스트a의 데이터 중 하나이다. 인덱싱으로 한번 출력해볼까?
print(a[3])
[4, 5]

 

정렬

리스트.sort()

변수 = sorted(리스트)

# sort 방법
num = [2, 1, 4, 6, 3, 5]
num.sort()
print(num)
[1, 2, 3, 4, 5, 6]

# sorted 방법
num = [2, 1, 4, 6, 3, 5]
temp = sorted(num)
print(temp)
[1, 2, 3, 4, 5, 6]

 

뒤집기

리스트.reverse()

# 현재 리스트 기준으로 역순 출력한다.
num = [2, 1, 4, 6, 3, 5]
num.reverse()
print(num)
[5, 3, 6, 4, 1, 2]

# 만약 내림차순 정렬하고 싶다면 아래 방법처럼 하면 된다.
# 먼저 오름차순 정렬 후
num = [2, 1, 4, 6, 3, 5]
num.sort()
print(num)
[1, 2, 3, 4, 5, 6]

# 역순 출력
num.reverse()
print(num)
[6, 5, 4, 3, 2, 1]

 

제거

리스트.remove(상대대상)

#remove 인자값(아규먼트)이 가리키는 데이터 X(여기선 6 )가 삭제됨
num = [2, 1, 4, 6, 3, 5, 6, 4]
num.remove(6)
print(num)

 

집어내기

리스트.pop() : 리스트의 맨 마지막 값을 보여주고, 해당 값은 리스트에서 삭제된다.

리스트.pop(인덱스) : 리스트의 인덱스 위치 값을 보여주고, 해당 값은 리스트에서 삭제된다.

#리스트.pop()
num = [2, 1, 4, 6, 3, 5]
print(num.pop())
5 #리스트 맨 마지막 값인 5를 집어낸다.
print(num)
[2, 1, 4, 6, 3] #그리고 리스트에서 해당 값이 삭제된다.

#리스트.pop(인덱스)
num = [2, 1, 4, 6, 3, 5]
print(num.pop(2))
4 #리스트 해당 인덱스(2번째 위치)에 위치한 값인 4를 집어낸다.
print(num)
[2, 1, 6, 3, 5] #그리고 리스트에서 해당 값이 삭제된다.

 

개수 세기

리스트.count(데이터) : 리스트 내 데이터가 몇 개 존재하는지 개수를 출력한다.

# 리스트 내 3이 몇개 있는지?
num = [1, 2, 3, 3, 3, 4, 5, 6, 6]
print(num.count(3))
3

# 리스트 내 6이 몇개 있는지?
num = [1, 2, 3, 3, 3, 4, 5, 6, 6]
print(num.count(6))
2

 

반응형

댓글

Designed by JB FACTORY