itertools.product()と一緒にどのように展開しているか(*)を以下の例でどのように扱っているか、私の頭の中ではわかりません。itertools.productでリストを解凍する際の説明
for x in product(["ghi","abc"]):
print(x)
出力:
('ghi',)
('abc',)
と*使用して
for x in product(*["ghi","abc"]):
print(x)
出力:
('g', 'a')
('g', 'b')
('g', 'c')
('h', 'a')
('h', 'b')
('h', 'c')
('i', 'a')
('i', 'b')
('i', 'c')
がどのようにこの出力が生成されましたか?私はproduct()が通常 'repeat'の数を指定して組み合わせを生成することを知っています。上記のように、repeatは1にデフォルト設定されています。( 'a'、 'g')はどのように生成されませんでしたか?
*["ghi","abc"]
は実際にproduct()
の機能に何をもたらしたのでしょうか?私は結果が何であるかを見ることを意味するが、私はちょうどそれが働く方法を得るように思わない。
あなたが提供する説明と製品の仕事は本当に便利だったかの抜粋:実際の実装は、メモリ内の中間結果を構築していないことを除いて
この関数は、以下のコードとほぼ同等です。私は当初、作業の大半が開梱作業であると思っていましたが、製品機能の中でそのすべてを明らかにしました。ありがとう。 – user1179317
@ user1179317喜んで私は助けます:-) –