如何从迭代器中随机选取一个元素?
random.choice(generaotr) 会提示 TypeError: object of type 'generator' has no len()
random.choice(generaotr)
TypeError: object of type 'generator' has no len()
闭关修行中......
Signature: random.choice(seq), parameter hendaklah satu jujukan, mula-mula tukar penjana kepada jujukan.
Signature: random.choice(seq)
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
Signature: random.choice(seq)
, parameter hendaklah satu jujukan, mula-mula tukar penjana kepada jujukan.Anda boleh cache beberapa nilai iterator dahulu dan kemudian ambilnya secara rawak.
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