ホームページ  >  に質問  >  本文

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

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

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

阿神阿神2741日前1236

全員に返信(3)返信します

  • PHPz

    PHPz2017-04-18 09:32:29

    Signature: random.choice(seq)、パラメーターはシーケンスである必要があり、まずジェネレーターをシーケンスに変換します。

    リーリー

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 09:32:29

    最初に特定の数の反復子の値をキャッシュし、次にそれらをランダムにフェッチできます。

    リーリー

    または、整数を直接ランダム化し、その位置に next() を実行します。

    返事
    0
  • 黄舟

    黄舟2017-04-18 09:32:29

    質問は次のように考える必要があります: イテレータが使用されているのに、なぜランダムに数値を選択する必要があるのでしょうか?イテレータが無限の場合はどうなるでしょうか?もちろん、リスト化して個別に議論することも可能です

    返事
    0
  • キャンセル返事