以下は、Python を使用して非繰り返しの乱数を生成し、リストの順序を変更する方法を共有する記事です。これは非常に参考になるので、皆さんのお役に立てれば幸いです。
andom.sample(list, n)は、リストからn個の異なる要素をランダムに選択します
# -*- coding: utf-8 -*- import random # 从一个list中随机挑选5个 list = [12, 23, 13, 14, 78, 234, 123, 12345] randomlist = random.sample(list, 5) print randomlist # 在range(10)中随机生成5个不重复的数,可以作为随机下标集合,然后到list中取数 len = list.__len__() indexList = range(len) randomIndex = random.sample(indexList, 5) for i in randomIndex: print "下标为%d" % i print list[i]
リストをシャッフルして順番に並べ替えます、random.shuffle(list)、元のリストに注意してください変更されます
# -*- coding: utf-8 -*- import random # 对list洗牌,在原list上做改变 list = range(10) print list random.shuffle(list) print "随机排序列表 : ", list
ランダムな固有番号の生成に関しては、2回面接を受け、そのうちの1回の応募シナリオは抽選でした。
その時に私が提案した解決策は、生成した乱数(配列の添字ランダム)を配列に入れ、新しく生成した乱数が最初に存在するかどうかを判定し、存在しない場合は追加するというものでした。存在する場合は、配列内の要素の数が特定の値に達するまで乱数を再生成し、このランダムな添字配列を元の配列に取り込んで要素を取得します。面接官が時間計算量を尋ねてきたので、O(n^2) と答えました。面接官は何か改善策はあるかと尋ねましたが、しばらく考えましたがわかりませんでした。
寮に戻った後、ルームメイトが言いました。次のように、毎回選択した要素と最後の要素を交換できます。次回乱数を生成するときは、最初の n-1 個の要素から生成します。要素を交換する必要があるのは毎回 1 回だけであり、現在の添え字が 1 回生成されたかどうかを確認するために配列に移動する必要がなく、時間計算量は O(n) になります。これは素晴らしいことです。
Java は、指定されたコンテナーに要素が存在するかどうかを直接判断できる list.contains(ele) 関数を提供します。これにより、二重ループを記述する必要がなくなりますが、時間計算量は依然として O(n^2) です。
しかし、今日私は Python のサンプル関数 (シードポイントをランダムに選択する) を調べました。そして、それは私が望む結果を直接達成することができます。次回は、たった 1 行のコードで完了するでしょう。
関連する推奨事項:
以上がPython は非反復乱数を生成し、リストの順序付けの問題を解決しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
