python - 如何从迭代器中随机选取一个元素?
阿神
阿神 2017-04-18 09:30:29
0
3
1303

如何从迭代器中随机选取一个元素?

random.choice(generaotr) 会提示 TypeError: object of type 'generator' has no len()

阿神
阿神

闭关修行中......

membalas semua(3)
PHPzhong

Signature: random.choice(seq), parameter hendaklah satu jujukan, mula-mula tukar penjana kepada jujukan.

random.choice(list(generator))
左手右手慢动作

Anda boleh cache beberapa nilai iterator dahulu dan kemudian ambilnya secara rawak.

sets = list(zip(range(100),generator()))
choice = random.choice(sets)[1]

Atau rawak terus integer dan kemudian seterusnya() ke kedudukan itu.

黄舟

Persoalannya harus difikirkan seperti ini: Memandangkan iterator digunakan, mengapa kita perlu memilih nombor secara rawak? Bagaimana jika iterator tidak terhingga? Sudah tentu, ia boleh ditukar menjadi senarai dan dibincangkan secara berasingan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan