일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래밍언어
- 소프트웨어
- 머신러닝
- 알고리즘
- 네트워크보안
- 보안
- 데이터구조
- 빅데이터
- 자료구조
- 컴퓨터비전
- Yes
- 파이썬
- 컴퓨터과학
- I'm Sorry
- 데이터분석
- 자바스크립트
- 클라우드컴퓨팅
- 인공지능
- 버전관리
- 소프트웨어공학
- 프로그래밍
- 웹개발
- 데이터베이스
- 2
- 코딩
- 사이버보안
- 딥러닝
- 데이터과학
- 네트워크
- 컴퓨터공학
- Today
- Total
스택큐힙리스트
어떻게 다른 목록에서 하나의 목록을 뺄 수 있나요? 본문
나는 목록 x과 y 사이의 difference를 가져 가고 싶어.
>>> x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> y = [1, 3, 5, 7, 9]
>>> x - y
# should return [0, 2, 4, 6, 8]
답변 1
x로부터 원래 order를 유지하면서 차이를 계산하는 리스트 내장을 사용하세요.
[item for item in x if item not in y]
리스트 속성(예: 순서)이 필요하지 않은 경우 set difference 를 사용하십시오. other answers 가 제안한 대로입니다.
list(set(x) - set(y))
&$#@#^!%^^$& 클래스에서 상속받은 클래스에서 __sub__을 무시하고 x - y 중위구문을 허용하도록 재정의합니다.
class MyList(list):
def __init__(self, *args):
super(MyList, self).__init__(args)
def __sub__(self, other):
return self.__class__(*[item for item in self if item not in other])
사용법:
x = MyList(1, 2, 3, 4)
y = MyList(2, 5, 2)
z = x - y
답변 2
리스트에서 다른 리스트를 빼려면 어떻게 해야 할까요? 이 문제에 대해 SEO에 민감한 한국어 글을 작성해 봅시다.파이썬에서는 리스트에 대한 다양한 연산을 지원합니다. 리스트를 다룰 때 가장 기본적인 연산 중 하나는 두 개의 리스트를 빼는 것입니다. 이번에는 리스트의 각 원소가 고유한 값이며, 두 리스트 간의 순서가 동일하다는 가정 하에 두 리스트를 뺄 수 있는 방법을 알아보겠습니다.
우선, 뺄셈을 수행하고자 하는 두 개의 리스트를 만듭니다. 예를 들어, 첫 번째 리스트는 [1, 2, 3, 4, 5], 두 번째 리스트는 [3, 4, 5, 6, 7]이라고 해 봅시다.
그 다음으로, 첫 번째 리스트에서 두 번째 리스트를 빼서 새로운 리스트를 만들어야 합니다. 이를 수행하기 위해 파이썬에서는 리스트 컴프리헨션을 사용하면 됩니다. 다음의 코드를 확인해 보세요.
```
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
result = [x for x in a if x not in b]
print(result)
```
위 코드를 실행하면 [1, 2]가 출력됩니다. 이유는 첫 번째 리스트의 원소 중에서 두 번째 리스트에도 존재하는 3, 4, 5를 제외한 나머지 원소인 1과 2만 남기 때문입니다.
이 방법은 원소의 순서를 유지하지 않기 때문에 원소의 순서가 중요한 경우에는 사용하기 어려울 수 있습니다. 그렇다면 원소의 순서를 유지하면서 리스트를 뺄셈하는 방법은 무엇일까요?
이 경우에는 set 타입을 사용해서 처리할 수 있습니다. 먼저, 두 리스트를 set으로 변환한 다음, 차집합 연산을 수행하면 됩니다. 다음의 코드를 확인해 보세요.
```
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
result = list(set(a) - set(b))
print(result)
```
위 코드를 실행하면 [1, 2]가 출력됩니다. 이유는 앞서 설명한 것과 같이 두 번째 리스트에 존재하는 3, 4, 5를 제외한 나머지 원소인 1과 2만 남기 때문입니다.
이처럼 파이썬에서는 다양한 방법으로 리스트를 빼는 연산을 수행할 수 있습니다. 적절한 방법을 선택해서 사용하면 됩니다.