RubyでPythonのitertools.product
と同じ効果を持つメソッドを探しています。RubyでPythonのitertools.productと同等のものは何ですか?
from itertools import product
chars = []
for i in range(97,123):
chars.append(chr(i))
for a in range(1,3):
for i in product(chars,repeat=a):
s = ''.join(i)
print s
このようなものを出力します:次のPythonコード乗り
(1..2).each do |n|
('a'..'z').to_a.combination(n).each do |c|
s = c.join
puts s
end
end
しかし、出力が同じではありません。
a, b, c... x, y, z, aa, ab, ac... ax, ay, az, ba, bb, bc.. etc.
を私は、Rubyの中にそれを翻訳してみました。 1文字のものは(AZ)正常に動作しますが、それは2文字のものになったとき、私は予想通り、それは動作しません:それはaa
、ba
またはbb
を生成していない
ab, ac, ad.. ax, ay, az, bc, bd, be
- それそれは文字や何かを繰り返さずにすべての組み合わせを生成しているようですか?
すべてのような組み合わせを生成するにはどのような方法を使用する必要がありますか?itertools.product
のようなものはPythonで動作しますか?
'Array#product'と' itertools.product'の主な違いは、Rubyが関数ではなくメソッドであることです。それは通常不便です。 – tokland