[解決済み] 項目の順序を維持したまま、リストからランダムにサンプルを取得する?
2023-05-21 11:29:23
質問
私はソートされたリストを持っています、例えば:(それは実際には単なる数字ではなく、複雑な時間のかかるアルゴリズムでソートされたオブジェクトのリストです。)
mylist = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,9 , 10 ]
Pythonの関数で、アイテムのN個を与えてくれて、かつ、順番を維持してくれるものはないでしょうか?
例
randomList = getRandom(mylist,4)
# randomList = [ 3 , 6 ,7 , 9 ]
randomList = getRandom(mylist,4)
# randomList = [ 1 , 2 , 4 , 8 ]
etc...
どのように解決するのですか?
次のコードは、サイズ4のランダムサンプルを生成します。
import random
sample_size = 4
sorted_sample = [
mylist[i] for i in sorted(random.sample(range(len(mylist)), sample_size))
]
(注意: Python 2 では、より良い方法で
xrange
の代わりに
range
)
説明
random.sample(range(len(mylist)), sample_size)
はランダムなサンプルを生成します。 インデックス のランダムなサンプルを生成します。
これらのインデックスは、元のリストの要素の順序を保持するようにソートされます。
最後に、リスト内包はサンプリングされたインデックスを与えて、元のリストから実際の要素を取り出します。
関連
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Python 2.Xのrange関数とxrange関数の違いは何ですか?
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Python 言語を決定するには?
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?