Rumah >pembangunan bahagian belakang >Tutorial Python >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.
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.
random.sample(iterable object, k)
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> )
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 bagiDalam 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}")
The sorted list of random integers is: [6, 18, 19, 55, 63, 75, 88, 91, 92, 94]
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.
numpy.choice(<array name>, size=<shape of the output array> , replace= <Boolean True or False>, other parameters....)Terjemahan bahasa Cina bagi
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}")
The sorted list of random integers is: [23 27 61 72 74 79 80 90 96 99]
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 bagiDalam 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}")
The sorted list of random integers is: [12, 13, 15, 16, 16, 25, 28, 29, 47, 49]
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 bagiDalam 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}")
The sorted list of random integers is: [7, 14, 32, 46, 55, 68, 79, 84, 88, 90]
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
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
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.....)
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
我们在以下代码中首先导入了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}")
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]]
在这篇文章中,我们了解了如何使用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!