Python의 목록에서 여러 요소 제거
-
if...else
제어 문을 사용하여 목록에서 여러 요소 제거 - Python에서 목록 이해 방법을 사용하여 목록에서 여러 요소 삭제
- 목록 슬라이싱을 사용하여 목록에서 여러 요소 제거
-
for
루프를 사용하여 목록에서 여러 요소 제거
Python 목록에서 여러 값을 제거하려면 목록의 실제 값이나 목록에서 제거할 값의 인덱스를 제거할 수 있습니다. if...else
제어 문, 목록 이해, 목록 슬라이싱 및 for
루프를 사용하여 Python의 목록에서 여러 요소를 제거할 수 있습니다.
if...else
제어 문을 사용하여 목록에서 여러 요소 제거
값이 특정 조건을 충족하는 경우 if...else
제어 문을 사용하여 Python의 목록에서 여러 값을 제거할 수 있습니다. 인덱스가 특정 조건을 만족하는 경우 요소를 제거할 수도 있습니다.
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
print("Original list : ", list1)
for ele in list1:
if (ele % 2) != 0:
list1.remove(ele)
print("List after deleting all values which are odd : ", list1)
출력:
Original list : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
List after removing all the odd values : [2, 4, 6, 8, 10, 20]
여기에 정수 목록이 있으며 목록에서 홀수 값을 가진 요소를 제거해야 합니다. 이 경우 모든 목록 l1
요소를 반복하고 요소에 홀수 값이 있으면 remove()
메서드를 사용하여 목록에서 요소를 제거합니다.
Python에서 목록 이해 방법을 사용하여 목록에서 여러 요소 삭제
Python에서 목록 이해는 기존 목록에서 새 목록을 생성하는 프로세스를 나타냅니다. 목록 이해를 사용하여 목록에서 여러 요소를 제거할 수도 있습니다. 원래 목록에서 제거할 값을 제거하여 새 목록을 만들 수 있습니다.
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
l2 = [x for x in l1 if x % 2 == 0]
print("Original list : ", l1)
print("List after deleting all the odd values present in List : ", l2)
출력:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after deleting all the odd values present in List : [2, 4, 6, 8, 10, 20, 80]
여기에서 l1
의 모든 짝수 값만 포함하는 l1
목록에서 l2
목록을 만듭니다. 즉, 목록 l1
에서 모든 홀수 값을 제거하여 기존 목록 l1
에서 새 목록 l2
를 생성했다고 말할 수 있습니다.
목록 슬라이싱을 사용하여 목록에서 여러 요소 제거
List 슬라이싱 방법을 사용하여 목록에서 여러 요소를 제거할 수도 있습니다. 여기에 del
메소드의 목록에서 제거하려는 요소의 시작에서 마지막 인덱스까지 요소의 범위를 넣을 수 있습니다.
del
메서드에서 단일 인덱스를 사용하는 대신 목록에서 제거하려는 요소의 시작 인덱스부터 마지막 인덱스까지의 값 범위를 사용합니다. 목록에서 인접한 요소를 제거합니다. 값의 인덱스는 목록의 경우 Python에서 0
부터 시작한다는 점에 유의해야 합니다.
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
print("Original list : ", l1)
del l1[2:5]
print("List after removing values at index 2, 3 and 4 : ", l1)
출력:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after removing values at index 2, 3 and 4 : [1, 2, 6, 7, 8, 9, 10, 20, 80, 99]
del
방법을 사용하여 l1
목록에서 2
, 3
및 4
인덱스의 값을 제거합니다.
여기서 주목해야 할 한 가지 중요한 점은 첫 번째 인덱스 2
가 포함된다는 것입니다. 즉 3
목록의 2
인덱스에 있는 요소는 제거되고 마지막 인덱스는 목록의 5
인덱스에 있는 요소를 의미하는 배타적 값입니다. 6
은(는) 제거되지 않습니다.
for
루프를 사용하여 목록에서 여러 요소 제거
for
루프를 사용하여 목록에서 여러 요소를 제거할 수도 있습니다.
이 방법을 적용하려면 목록에서 삭제하려는 요소의 인덱스를 저장해야 합니다. 그러나 요소를 임의로 제거하면 인덱스 값이 변경됩니다. 우리의 현명한 전략은 목록에서 위치가 더 큰 요소를 삭제하는 것입니다. 따라서 다른 인덱스의 요소 값은 변경되지 않습니다. 이제 목록을 내림차순으로 정렬하여 더 높은 인덱스의 요소를 먼저 삭제합니다. 이 접근 방식에 대한 코드는 아래에 나와 있습니다.
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
print("Original list : ", l1)
indexes_to_be_removed = [0, 2, 5]
for idx in sorted(indexes_to_be_removed, reverse=True):
del l1[idx]
print("List after removing values at index 0, 2 and 5: ", l1)
출력:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after removing values at index 0, 2 and 5: [3, 5, 6, 8, 9, 10, 20, 80, 99]
del
방법을 사용하여 l1
목록에서 0
, 2
및 5
인덱스의 값을 제거합니다.