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

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

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

阿神
阿神

闭关修行中......

répondre à tous(3)
PHPzhong

Signature: random.choice(seq), le paramètre doit être une séquence, convertissez d'abord le générateur en séquence.

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

Vous pouvez d'abord mettre en cache un certain nombre de valeurs d'itérateur, puis les récupérer de manière aléatoire.

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

Ou randomisez directement un entier puis next() à cette position.

黄舟

La question doit être pensée comme ceci : puisque des itérateurs sont utilisés, pourquoi devons-nous sélectionner des nombres au hasard ? Et si l'itérateur était infini ? Bien sûr, cela peut être converti en liste et discuté séparément

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!