최상의 답변
나는 두 목록의 산술 마이너스를 의미한다고 생각합니다 (구성 요소 별 빼기). / p>
이 질문을하는 자신을 발견하면 numpy 모듈을 정기적으로 사용할 때가되었음을 나타내는 표지판입니다.
Numpy는 너무 일반적으로 사용되어 언어의 사실상 표준 부분입니다. Numpy는 기본 산술에 pythonic 우아함 을 제공합니다 (미친 수학 기능 라이브러리 중에서).
왜냐하면-목록 B를 빼기 위해 목록 A, C = A-B라고 쓰고 싶지 않습니까?
물론 그렇습니다. 따라서 numpy를 가져오고 다음과 같이 전환합니다.
import numpy as np
a=[6,3,6,8,9,6,4]
b=[1,0,1,2,1,2,1]
a = np.array(a) #Convert list to np array
b = np.array(b)
c = a - b
그게 다입니다. * 등과 같은 다른 작업에서 작동합니다. 이제 목록이 이상한 np.array 컨테이너에 있다는 사실에 놀라지 않아도됩니다. 이러한 배열은 []을 사용하여 동일한 인덱싱을 허용하고 목록과 마찬가지로 [:]를 사용하여 분할 할 수 있습니다.
그리고 언제든지 얻을 수 있습니다. c.list ()라고 말하여 목록을 되돌립니다.
경험이 많은 파이썬 프로그래머는 산술을 많이 할 때 숫자를 저장하기 위해 목록보다는 numpy 배열을 사용하는 경향이 있습니다.
축하합니다. 레벨 업!
답변
Python에서 한 목록에서 다른 목록을 뺀 값을 어떻게 평가하나요?
보통 더하기는 \_\_add\_\_ 메소드를 통해 정의됩니다.
[1, 2, 3] + [3, 2, 1]은 새 목록 [1, 2, 3, 3, 2, 1]
[1, 2, 3] + [ a, b, c]는 새 목록을 제공합니다 [1, 2, 3, a, b , c]
마이너스 연산자가 정의되어 있지 않습니다.
set (ls)는 목록 ls의 세트 버전을 제공합니다 (중복 제거).
마이너스 연산자는 집합에 대해 집합 차이로 정의됩니다.
if
A = set([1, 2, 4])
B = set([1, 2, 3])
A-B는 {4}를 줄 것입니다
B-A는 {3}을 줄 것입니다