Wie erhalte ich mit Python eine sortierte Liste zufälliger Ganzzahlen mit eindeutigen Elementen?

WBOY
Freigeben: 2023-08-21 20:28:32
nach vorne
1545 Leute haben es durchsucht

Wie erhalte ich mit Python eine sortierte Liste zufälliger Ganzzahlen mit eindeutigen Elementen?

Das Generieren von Zufallszahlen ist eine der beliebtesten Techniken in den Bereichen Programmierung, Statistik, Modelle für maschinelles Lernen und mehr. Das Erzeugen einer sortierten Liste zufälliger Ganzzahlen mit eindeutigen Elementen ist ein Teilgebiet dieser Aufgabe. Da Computer jedoch deterministische Maschinen sind, ist die Generierung von Zufallszahlen durch unsere Implementierung nur manchmal eine sinnvolle Idee. In diesem Artikel erfahren Sie, wie Sie mit Python eine sortierte Liste zufälliger Ganzzahlen mit eindeutigen Elementen erhalten.

Beispielfunktion mit Zufallsmodul

Die Stichprobenmethode generiert eine Zufallsstichprobe von k Elementen aus einer bestimmten Grundgesamtheit. Es benötigt zwei erforderliche Parameter: Der erste ist die Liste der Elemente und der zweite ist die Anzahl der Elemente, die in unsere Beispielliste aufgenommen werden sollen.

Grammatik

random.sample(iterable object, k)
Nach dem Login kopieren

Das Funktionsbeispiel akzeptiert zwei erforderliche Parameter: das iterierbare Objekt und die Anzahl der Elemente, die im Ergebnis vorhanden sein sollen. Es gibt die k Elemente im iterierbaren Objekt als Liste zurück.

sorted(iterable, key=< value of the key > , reverse = <boolean True or False> )
Nach dem Login kopieren

Diese Funktion sortiert iterierbare Objekte. Als erforderlichen Parameter wird ein iterierbares Objekt benötigt. Wir können den Schlüssel eines Elements auch mithilfe des Schlüsselparameters festlegen. Wir können den Reverse-Parameter auch verwenden, um die umgekehrte Form der sortierten Iterable zurückzugeben.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Im folgenden Code importieren wir zunächst das Zufallsmodul von Python. Als Nächstes haben wir die Funktion „generate_sorted_random_integers“ erstellt, die drei Parameter akzeptiert: den Startbereich, den Endbereich und die Anzahl der Elemente. Wir erstellen mit der Range-Methode eine Liste ganzzahliger Bereiche, nehmen mit der Sample-Methode einige Stichproben daraus und sortieren das Array schließlich mit der Sorted-Methode.

import random
def generate_sorted_random_integers(start_range, end_range, num_elements):
    random_list = sorted(random.sample(range(start_range, end_range + 1), num_elements))
    return random_list
start_range = 1
end_range = 100
num_elements = 10
random_list = generate_sorted_random_integers(start_range, end_range, num_elements)
print(f"The sorted list of random integers is: {random_list}")

Nach dem Login kopieren

Ausgabe

The sorted list of random integers is: [6, 18, 19, 55, 63, 75, 88, 91, 92, 94]
Nach dem Login kopieren

Numpy-Modul verwenden

Numpy ist eine beliebte Bibliothek für Python, die für numerische Berechnungen verwendet wird. Es bietet auch Funktionen zum Erstellen von Zufallszahlen. Wir können die Sortiermethode verwenden, um die Liste zu sortieren, und die Auswahlmethode, um k Elemente zufällig auszuwählen.

Grammatik

numpy.choice(<array name>, size=<shape of the output array> , replace=
<Boolean True or False>, other parameters....)
Nach dem Login kopieren

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Im folgenden Beispiel definieren wir nach dem Import der Numpy-Bibliothek die Funktion „generate_sorted_random_integers“. Diese Funktion verwendet einen Startwert, einen Endwert und die Anzahl der Elemente als Parameter und gibt eine zufällig geordnete Liste zurück. Unterhalb der Funktion verwenden wir die Range-Funktion, um eine Sequenz zu generieren, die Choice-Methode, um daraus die erforderliche Anzahl von Elementen auszuwählen, und schließlich die Sortiermethode, um die Liste zu sortieren.

import numpy as np
def generate_sorted_random_integers(start_range, end_range, num_elements):
    random_list = np.sort(np.random.choice(range(start_range, end_range + 1), size=num_elements, replace=False))
    return random_list
start_range = 10
end_range = 100
num_elements = 10
random_list = generate_sorted_random_integers(start_range, end_range, num_elements)
print(f"The sorted list of random integers is: {random_list}")
Nach dem Login kopieren

Ausgabe

The sorted list of random integers is: [23 27 61 72 74 79 80 90 96 99]
Nach dem Login kopieren

Verwenden Sie Listenverständnis und Sortierung

Listenverständnisse sind eine beliebte Technik unter Python-Entwicklern. Der Vorteil dieses Ansatzes besteht darin, dass Sie logische Anweisungen, Iterationsausdrücke, bedingte Ausdrücke usw. in einer einzigen Codezeile kombinieren und darauf basierend die Elemente einer Liste generieren können. Dies hilft beim Schreiben einer einzelnen Ableitung einer Codezeile.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Im folgenden Beispiel verwenden wir Listenverständnis, um eine sortierte Liste von Zufallszahlen zu erstellen. Wir verwenden die Zufallsbibliothek von Python, um Zufallszahlen im gewünschten Bereich zu erstellen, und verwenden die Methode „sortiert“, um die Liste der Zufallszahlen zu sortieren. Wir haben die benutzerdefinierte Funktion aufgerufen, die erforderlichen Parameter übergeben und das Ergebnis gedruckt.

import random
def generate_sorted_random_integers(start_range, end_range, num_elements):
    random_list = sorted([random.randint(start_range, end_range) for _ in range(num_elements)])
    return random_list
start_range = 10
end_range = 50
num_elements = 10
random_list = generate_sorted_random_integers(start_range, end_range, num_elements)
print(f"The sorted list of random integers is: {random_list}")

Nach dem Login kopieren

Ausgabe

The sorted list of random integers is: [12, 13, 15, 16, 16, 25, 28, 29, 47, 49]
Nach dem Login kopieren

Lambda-Funktion verwenden

Lambda-Funktionen haben keinen Namen und verhalten sich wie herkömmliche Funktionen, wenn weniger Codezeilen vorhanden sind. Diese Funktion kann Parameter akzeptieren und einen Wert zurückgeben. Die Funktion hat jedoch keinen Namen. Normalerweise verwenden wir solche Funktionen, wenn wir einige Vorgänge schnell ausführen müssen und sicher sind, dass sie nicht anderswo verwendet werden.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Im folgenden Code verwenden wir die Lambda-Funktion, die Start, Ende und Anzahl der Elemente als Parameter verwendet. Diese Funktion verwendet auch Listenverständnisse, um die Elemente der Liste zu generieren. Wir verwenden die Randint-Methode, um Zufallszahlen zu generieren, und die sortierte Methode, um die Liste zu sortieren.

import random
generate_sorted_random_integers = lambda start_range, end_range, num_elements: sorted([random.randint(start_range, end_range) for _ in range(num_elements)])
start_range = 1
end_range = 100
num_elements = 10
random_list = generate_sorted_random_integers(start_range, end_range, num_elements)
print(f"The sorted list of random integers is: {random_list}")
Nach dem Login kopieren

Ausgabe

The sorted list of random integers is: [7, 14, 32, 46, 55, 68, 79, 84, 88, 90]
Nach dem Login kopieren

Lambda-Funktion verwenden

Pandas ist eine beliebte Datenanalysebibliothek in Python. Es verfügt über eine integrierte Funktion namens „Apply“, mit der wir bestimmte Operationen auf alle Listenelemente anwenden können. Wir können die Zufallsbibliothek verwenden, um Zufallszahlen zu generieren und die Methode zum Sortieren der Elemente anwenden

Pandas-Bibliothek mit Random verwenden

Pandas ist eine beliebte Datenanalysebibliothek in Python. Es verfügt über eine integrierte Funktion namens „Apply“, mit der wir bestimmte Operationen auf alle Listenelemente anwenden können. Wir können die Zufallsbibliothek verwenden, um Zufallszahlen zu generieren und die Methode zum Sortieren der Elemente anwenden

Grammatik

DataFrame.apply(<function to apply to the elements>, axis=<0 for rows and 1
for columns> , raw=<boolean True or False> , result_type=None, other
parameters.....)
Nach dem Login kopieren

Wir können die Apply-Methode für das Pandas-Datenrahmenobjekt verwenden. Der Name der Funktion wird als erforderlicher Parameter verwendet. Diese Funktion wird auf alle Elemente des Datenrahmens angewendet. Der Achsenparameter definiert, ob wir die Funktion auf Zeilen oder Spalten verwenden möchten. „convert_type“ ist ein boolescher Wert, der angibt, ob der Datentyp der resultierenden Serie in einen generischen Typ konvertiert werden soll, der aus dem Rückgabewert der Funktion abgeleitet wird

Example

的中文翻译为:

示例

我们在以下代码中首先导入了Pandas库,并使用pd作为别名。接下来,我们使用DataFrame方法创建了一个名为df的数据帧。我们对数据帧使用了apply方法,并使用generate_sorted_random_integers函数对所有数字进行处理。generate_sorted_random_integers函数使用了sampling方法来随机抽样一些数字,并使用sort方法对数字列表进行排序。

import pandas as pd
import random
df = pd.DataFrame({
    'start_range': [1, 1, 1],
    'end_range': [100, 100, 100],
    'num_elements': [10, 10, 10]
})
def generate_sorted_random_integers(row):
    random_list = random.sample(range(row[0], row[1] + 1), row[2])
    random_list.sort()
    return random_list
random_list = df[['start_range', 'end_range', 'num_elements']].apply(generate_sorted_random_integers, axis=1).tolist()
print(f"A multidimensional sorted list of random integers with unique elements are as follows: {random_list}")
Nach dem Login kopieren

输出

A multidimensional sorted list of random integers with unique elements are
as follows: [[11, 28, 31, 32, 35, 58, 73, 82, 88, 96], [17, 26, 42, 45, 47,
55, 89, 97, 99, 100], [26, 32, 66, 73, 74, 76, 85, 87, 93, 100]]
Nach dem Login kopieren

结论

在这篇文章中,我们了解了如何使用Python获取一个具有唯一元素的随机整数排序列表。random模块是生成随机数的最常用方法,因为它专门为此目的设计。然而,为了生成一个排序列表,我们还需要使用Python中的其他一些方法,比如choice、sample、lambda函数等。

Das obige ist der detaillierte Inhalt vonWie erhalte ich mit Python eine sortierte Liste zufälliger Ganzzahlen mit eindeutigen Elementen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage