Bagaimana untuk mendapatkan senarai integer rawak yang diisih dengan elemen unik menggunakan Python?

WBOY
Lepaskan: 2023-08-21 20:28:32
ke hadapan
1539 orang telah melayarinya

Bagaimana untuk mendapatkan senarai integer rawak yang diisih dengan elemen unik menggunakan Python?

Menjana nombor rawak ialah salah satu teknik paling popular dalam pengaturcaraan, statistik, model pembelajaran mesin dan banyak lagi. Menjana senarai diisih bagi integer rawak dengan elemen unik ialah subbidang tugas ini. Walau bagaimanapun, komputer adalah mesin penentu, jadi menjana nombor rawak melalui pelaksanaan kami kadangkala merupakan idea yang masuk akal. Dalam artikel ini, kami akan meneroka cara mendapatkan senarai diisih bagi integer rawak dengan elemen unik menggunakan Python.

Contoh fungsi menggunakan modul rawak

Kaedah persampelan menjana sampel rawak unsur k daripada populasi tertentu. Ia memerlukan dua parameter yang diperlukan, yang pertama ialah senarai elemen dan yang kedua ialah bilangan elemen yang perlu disertakan dalam senarai sampel kami.

Tatabahasa

random.sample(iterable object, k)
Salin selepas log masuk

Sampel fungsi menerima dua parameter yang diperlukan: objek boleh lelar dan bilangan elemen yang perlu ada dalam hasil. Ia mengembalikan elemen k daripada objek boleh lelaran sebagai senarai.

sorted(iterable, key=< value of the key > , reverse = <boolean True or False> )
Salin selepas log masuk

Fungsi ini menyusun objek boleh lelar. Ia memerlukan objek boleh lelaran sebagai parameter yang diperlukan. Kita juga boleh menetapkan kunci elemen menggunakan parameter kunci. Kita juga boleh menggunakan parameter terbalik untuk mengembalikan bentuk terbalik bagi lelang yang diisih.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Dalam kod di bawah, kami mula-mula mengimport modul rawak Python. Seterusnya, kami mencipta fungsi generate_sorted_random_integers, yang menerima tiga parameter, julat permulaan, julat penamat dan bilangan elemen. Kami mencipta senarai julat integer menggunakan kaedah julat, mengambil beberapa sampel daripadanya menggunakan kaedah sampel, dan akhirnya mengisih tatasusunan menggunakan kaedah yang diisih.

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}")

Salin selepas log masuk

Output

The sorted list of random integers is: [6, 18, 19, 55, 63, 75, 88, 91, 92, 94]
Salin selepas log masuk

Menggunakan modul Numpy

Numpy ialah perpustakaan popular untuk Python yang digunakan untuk pengiraan berangka. Ia juga menyediakan fungsi untuk mencipta nombor rawak. Kita boleh menggunakan kaedah isihan untuk mengisih senarai dan kaedah pilihan untuk memilih unsur k secara rawak.

Tatabahasa

numpy.choice(<array name>, size=<shape of the output array> , replace=
<Boolean True or False>, other parameters....)
Salin selepas log masuk

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Dalam contoh di bawah, selepas mengimport perpustakaan Numpy, kami mentakrifkan fungsi generate_sorted_random_integers. Fungsi ini mengambil nilai mula, nilai akhir dan bilangan elemen sebagai parameter dan mengembalikan senarai yang dipesan secara rawak. Di bawah fungsi, kami menggunakan fungsi julat untuk menjana jujukan, kaedah pilihan untuk memilih bilangan elemen yang diperlukan daripadanya, dan akhirnya kaedah isihan untuk mengisih senarai.

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}")
Salin selepas log masuk

Output

The sorted list of random integers is: [23 27 61 72 74 79 80 90 96 99]
Salin selepas log masuk

Gunakan pemahaman senarai dan isihan

Pemahaman senarai ialah teknik yang popular dalam kalangan pembangun Python. Kelebihan pendekatan ini ialah anda boleh menggabungkan pernyataan logik, ungkapan lelaran, ungkapan bersyarat, dsb. dalam satu baris kod dan menjana elemen senarai berdasarkannya. Ini membantu dalam menulis terbitan tunggal baris kod.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Dalam contoh di bawah, kami menggunakan pemahaman senarai untuk membuat senarai nombor rawak yang diisih. Kami menggunakan perpustakaan rawak Python untuk mencipta nombor rawak dalam julat yang dikehendaki dan menggunakan kaedah yang diisih untuk mengisih senarai nombor rawak. Kami memanggil fungsi yang ditentukan pengguna, lulus parameter yang diperlukan, dan mencetak hasilnya.

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}")

Salin selepas log masuk

Output

The sorted list of random integers is: [12, 13, 15, 16, 16, 25, 28, 29, 47, 49]
Salin selepas log masuk

Gunakan fungsi Lambda

Fungsi Lambda tidak mempunyai sebarang nama dan ia berkelakuan seperti fungsi tradisional jika terdapat lebih sedikit baris kod. Fungsi ini boleh menerima parameter dan mengembalikan nilai. Walau bagaimanapun, fungsi itu tidak mempunyai sebarang nama. Biasanya, kami menggunakan fungsi seperti ini apabila kami perlu melakukan beberapa operasi dengan cepat dan yakin bahawa ia tidak akan digunakan di tempat lain.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Dalam kod di bawah, kami menggunakan fungsi lambda yang mengambil permulaan, akhir dan bilangan elemen sebagai parameter. Fungsi ini juga menggunakan pemahaman senarai untuk menjana elemen senarai. Kami menggunakan kaedah randint untuk menjana nombor rawak dan kaedah diisih untuk mengisih senarai.

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}")
Salin selepas log masuk

Output

The sorted list of random integers is: [7, 14, 32, 46, 55, 68, 79, 84, 88, 90]
Salin selepas log masuk

Gunakan fungsi Lambda

Panda ialah perpustakaan analisis data yang popular dalam Python. Ia mempunyai fungsi terbina dalam dipanggil apply, yang boleh kita gunakan untuk menggunakan operasi tertentu pada semua elemen senarai. Kita boleh menggunakan perpustakaan rawak untuk menjana nombor rawak dan menggunakan kaedah untuk mengisih unsur

Menggunakan perpustakaan Pandas dengan Random

Panda ialah perpustakaan analisis data yang popular dalam Python. Ia mempunyai fungsi terbina dalam dipanggil apply, yang boleh kita gunakan untuk menggunakan operasi tertentu pada semua elemen senarai. Kita boleh menggunakan perpustakaan rawak untuk menjana nombor rawak dan menggunakan kaedah untuk mengisih unsur

Tatabahasa

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.....)
Salin selepas log masuk

Kita boleh menggunakan kaedah apply pada objek kerangka data Pandas. Ia mengambil nama fungsi sebagai parameter yang diperlukan. Fungsi ini digunakan pada semua elemen bingkai data. Parameter paksi mentakrifkan sama ada kita mahu menggunakan fungsi pada baris atau lajur. convert_type ialah nilai Boolean yang menunjukkan sama ada hendak menukar jenis data Siri yang terhasil kepada jenis generik yang disimpulkan daripada nilai pulangan fungsi

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}")
Salin selepas log masuk

输出

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]]
Salin selepas log masuk

结论

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

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan senarai integer rawak yang diisih dengan elemen unik menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan