2011-04-27 6 views
13

내가 이것을해야 할 때마다 나는 다른 방식으로 "발명"합니다. 표준화 할 시간. 나는이 일을 할 준비가 간과되어있는 기본 명령이 있다고 의심한다. 그래서 그 질문이 너무 사소한 것이라면 미리 유감스럽게 생각한다. 물론 입력 목록에서 임의의 요소와생성 조합

combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}} 

: 얻을 수있는 더 나은 (메모리, 성능) 방법은 무엇

.

+0

"하위 집합"을 검색한다고 생각하면 간단합니다. 꽤 합리적으로 "조합"을 검색하는 것으로 생각된다면, 당신은 방금 이러한 미래의 사람들에게이 것을 묻는 것으로 훌륭한 서비스를했습니다! – dreeves

+0

@dreeves sooo 많은 감사합니다! 자, 만약 당신이 나를 비난하고 싶다면, 코드의 세 번째 줄을보십시오. ** 저는 여기에 썼습니다. http://stackoverflow.com/questions/3815496/plotting-linear-inequalities-in-mathematica/3868677#3868677 –

+0

Combination => Tuples => Subsets (물론 이미 알고 있었기 때문에 도움이되었을 것입니다.) –

답변

17
Subsets[{1, 2, 3}, {2}] 

은 기본 제공 방식입니다.

+0

젠장, 나는 그것이 너무 사소하다는 것을 알았다. 감사! –

+0

Cah, Enlightened 배지 축하합니다! –

7

Subsets이 핵심 기능으로 추가되기 전에 Combinatorica 기능 KSubsets을 사용할 수있었습니다.

NextKSubset[{1, 2, 3}, {1, 3}] 

(* {2, 3} *) 

이 마지막 기능은 메모리 관리에 매우 도움이 될 수 있습니다 :

Needs["Combinatorica`"] 

KSubsets[{1, 2, 3}, 2] 

(* {{1, 2}, {1, 3}, {2, 3}} *) 

Combinatorica는 여전히 NextKSubset 같은 추가 기능을 제공합니다.

+0

당신은 4000에있어! 축하합니다 ... 지금 4010 –

+0

@ belisarius 감사합니다. :디 –