[解決済み] リストからランダムに50項目を選んでファイルに書き込む
2022-04-24 22:23:31
質問内容
今のところ、ファイルのインポート、新しいファイルの作成、リストのランダム化の方法はわかりました。
ファイルに書き込むために、リストから50項目だけをランダムに選択するのに苦労しているのですが?
def randomizer(input,output1='random_1.txt',output2='random_2.txt',output3='random_3.txt',output4='random_total.txt'):
#Input file
query=open(input,'r').read().split()
dir,file=os.path.split(input)
temp1 = os.path.join(dir,output1)
temp2 = os.path.join(dir,output2)
temp3 = os.path.join(dir,output3)
temp4 = os.path.join(dir,output4)
out_file4=open(temp4,'w')
random.shuffle(query)
for item in query:
out_file4.write(item+'\n')
つまり、もし全ランダム化ファイルが
example:
random_total = ['9','2','3','1','5','6','8','7','0','4']
3つのファイル (out_file1|2|3) に、第一ランダムセット3、第二ランダムセット3、第三ランダムセット3が欲しい(この例では、しかし私が作りたいものは50個あるはずだ)。
random_1 = ['9','2','3']
random_2 = ['1','5','6']
random_3 = ['8','7','0']
そのため、最後の「4」は含まれないことになりますが、これは問題ありません。
ランダムに表示されるリストから50個を選ぶにはどうしたらよいですか?
さらに言えば、元のリストからランダムに50個を選ぶにはどうしたらいいのでしょうか?
どのように解決するのですか?
リストがランダムな順番であれば、最初の50個を取ればいいのです。
それ以外の場合は
import random
random.sample(the_list, 50)
random.sample
のヘルプテキストを表示します。
sample(self, population, k) method of random.Random instance
Chooses k unique random elements from a population sequence.
Returns a new list containing elements from the population while
leaving the original population unchanged. The resulting list is
in selection order so that all sub-slices will also be valid random
samples. This allows raffle winners (the sample) to be partitioned
into grand prize and second place winners (the subslices).
Members of the population need not be hashable or unique. If the
population contains repeats, then each occurrence is a possible
selection in the sample.
To choose a sample in a range of integers, use xrange as an argument.
This is especially fast and space efficient for sampling from a
large population: sample(xrange(10000000), 60)
関連
-
Pythonコンテナのための組み込み汎用関数操作
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] JSONデータをファイルに書き込むにはどうしたらいいですか?
-
[解決済み] JavaScript の配列からランダムな値を取得する
最新
-
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によるjieba分割ライブラリ
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
任意波形を生成してtxtで保存するためのPython実装
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない