파이썬 리스트 짝수 제거 - paisseon liseuteu jjagsu jegeo



파이썬 리스트 짝수 제거 - paisseon liseuteu jjagsu jegeo

remove() 메서드 사용하기¶

파이썬 리스트에서 특정 값을 갖는 요소를 삭제하는 가장 간단한 방법은 remove() 메서드를 이용하는 것입니다.

예제1¶

lst = [4, 3, 2, 1]
lst.remove(3)
print(lst)

list.remove(value)의 형태로 값을 입력해주면 리스트에서 값을 갖는 요소를 삭제합니다.

똑같은 값이 두 개 있다면 첫번째 요소만 삭제합니다. 그리고 한 번에 하나의 값만 입력할 수 있습니다.

예제2¶

lst = [4, 3, 2, 3, 1]
for item in lst:
    if item == 3:
        lst.remove(3)

print(lst)

똑같은 값이 여러 개 있을 때에는 위와 같이 반복문을 사용해서 삭제할 수 있습니다.

리스트 컴프리헨션 이용하기¶

예제¶

lst = [4, 3, 2, 3, 1]
lst = [item for item in lst if item != 3 and item != 1]
print(lst)

리스트 컴프리헨션과 조건식을 이용해서 1과 3에 해당하는 요소를 모두 삭제했습니다.

NumPy delete() 사용하기 - by Index¶

NumPy 어레이에 대해 np.delete()를 사용하면 인덱스를 이용해서 특정 요소를 삭제할 수 있습니다.

예제¶

import numpy as np

arr = np.array([4, 3, 2, 1])
new_arr = np.delete(arr, [1, 3])

print(new1)

np.delete(arr, [indices])의 형태로 삭제할 요소의 인덱스들을 리스트의 형태로 입력합니다.

어레이에서 두번째, 네번째 요소가 삭제되었습니다.

NumPy delete() 사용하기 - by Value¶

예제¶

import numpy as np

arr = np.array([4, 3, 2, 3, 1])
new_arr = np.delete(arr, np.where((arr == 3) | (arr == 1)))

print(new_arr)

np.where((arr == 3) | (arr == 1))는 어레이 arr의 요소가 3 또는 1인 요소의 인덱스들입니다.

new_arr는 3과 1에 해당하는 요소가 모두 삭제된 어레이입니다.


이전글/다음글



list = [1, 2, 3, 4, 5, 6, 7, 8]


# 짝수 index만 - (0, 2, 4, 6 ...)
>>> list[0::2]
[1, 3, 5, 7]

# 홀수 index - (1, 3, 5, 7 ...)
>>> list[1::2]
[2, 4, 6, 8]



# 4로 나눈 후, 첫번째 index
>>> list[0::4]
[1, 5]

# 4로 나눈 후,두번째 index
>>> list[1::4]
[2, 6]

# 4로 나눈 후, 3번째 index
>>> list[2::4]
[3, 7]

list[idx::n]

n   : list를 몇개로 나눌 것인지

idx : 나눈 후에 원하는 인덱스 (idx < n)

맨 위에 예시들을 보면 쉬우니 예시를 보고 참고하면 좋겠다!

코드를 수정하던 중 짝수와 홀수에 해당하는 인덱스만 뽑아야했다.

for문을 적용하는 방법 말고 다른 방법을 찾아보다가 위와 같이 인덱싱하는 방법을 찾을 수 있었다.

짝수, 홀수 말고도 list를 n만큼 나누어서 원하는 위치를 고를 수 있다.

파이썬 코드를 깔끔히 짜는데에 유용할 것 같다.

리스트 요소 제거

리스트에서 요소를 제거하는 방법으로는 2가지가 있다. remove()와 del이다. 먼저 remove()는 리스트에서 제거하고 싶은 요소의 값을 알고 있을 때 사용하고, del은 리스트에서 제거하고 싶은 요소의 위치를 알고 있을 때 사용한다. 

예)

파이썬 리스트 짝수 제거 - paisseon liseuteu jjagsu jegeo

먼저 del을 사용한 모습이다. del list1[2]로 인덱스 2에 위치한 요소를 지울 수 있다. 인덱스는 0부터 시작하므로 3번째 요소인 'c'가 지워진 모습을 확인할 수 있다.

파이썬 리스트 짝수 제거 - paisseon liseuteu jjagsu jegeo

del을 이용해 특정 구간에 있는 요소들을 삭제하려면 슬라이싱을 이용하면 된다.

파이썬 리스트 짝수 제거 - paisseon liseuteu jjagsu jegeo

del list1[2:4]로 리스트 1에 저장된 요소들의 인덱스 2부터 4까지를 제거할 수 있다.

파이썬 리스트 짝수 제거 - paisseon liseuteu jjagsu jegeo

다음은 remove()에 대한 설명이다.

파이썬 리스트 짝수 제거 - paisseon liseuteu jjagsu jegeo

remove()를 이용해 특정 요소를 삭제하려면 인자 값으로 삭제하고 싶은 요소의 값을 넣어주면 된다.

파이썬 리스트 짝수 제거 - paisseon liseuteu jjagsu jegeo