python list 질문

익명 사용자의 이미지

[ [a,b,c], [1] ]
[
라는 list에서

a 1
b 1
c 1

를 프린트 하려면 어떤 방법이 있을까요?

[[a,b,c], [1,2], [A,B] ] 등으로 확장 가능하면서요..

a 1 A
a 1 B
...

를 프린트..

raymundo의 이미지

가능한 조합을 모두 만드는데, 문제는 조합의 자릿수도 각 자리에 들어갈 수 있는 원소들도 실행시간에야 파악되는 상황...을 말씀하시는 거죠?

전에 우연히 검색하다 본 건데 python은 아니고 perl입니다만:

http://groups.google.com/group/comp.lang.perl.misc/msg/d4b2b0e59c6d0280

파이썬에서도 combination 등으로 검색하다보면 나오지 않을까 싶습니다.

좋은 하루 되세요!

ensky0의 이미지

하스켈은 어떠신지요? -_-;;

[(x,y,z) | x<-['a','b','c'], y<-[1,2], z<-['A', 'B']]

raymundo의 이미지

우왕 완전히 문제를 직관적으로 코드로 만들어내는군요.

근데 이 경우 저 조합이 몇자리가 될지 각 자리에 들어갈 원소가 몇개나 될지를 실행시간에 입력을 받는다고 했을 때도 저런 표기로 나타낼 수 있는지요?

좋은 하루 되세요!

이응준의 이미지

foo xs ys zs = [(x, y, z) | x <- xs, y <- ys, z <- zs]
amorette의 이미지

<a b c>  X  <1 2>  X  <A B>
winner의 이미지

익명 사용자의 이미지

[[x,y,z] for x in ['a','b','c'] for y in [1,2] for z in ['A','B'] ]
익명 사용자의 이미지

array[0].product( *array[1...array.length] )