나는 파이썬에서 목록을 가지고 있으며이를 통해 반복하고, 현재 k 번째 요소를 제외한 모든 요소를 포함하는 목록을 선택적으로 구성하고 싶습니다. 내가 할 수있는 한 가지 방법은 다음과 같습니다.k 번째 요소가없는 목록을 효율적이고 비파괴 적으로 가져 오는 것
l = [('a', 1), ('b', 2), ('c', 3)]
for num, elt in enumerate(l):
# construct list without current element
l_without_num = copy.deepcopy(l)
l_without_num.remove(elt)
그러나 이것은 비효율적이며 우아하지 않습니다. 그것을 할 수있는 쉬운 방법이 있습니까? note 참고 현재 요소를 제외하는 원래 목록의 조각을 가져 오려고합니다. 이 작업을 쉽게 수행 할 수있는 것처럼 보입니다.
귀하의 도움에 감사드립니다.
나는 다음과 같이이 일을 생각하는 또 다른 방법 : #이 k는 가정 제외 할 요소 필터 (lambda x : x [0]! = k, l) 이게 존경할만한가요? 더 좋은 방법이 있습니까? – user248237dfsf
예상되는 결과가 무엇인지 설명해 주시겠습니까? "NameError : '복사'이름이 정의되지 않았습니다." – Pepijn
이 작업의 결과가 무엇인지 알 수 없습니다. 귀하가 게시 한 구현은 원래 목록의 3 가지 사본을 사용하지 않지만 세 가지 요소가 누락되었습니다. 목표를 명확히 할 수 있습니까? –