از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
به طور تصادفی یک آیتم را از لیست در پایتون انتخاب کنید
سرفصلهای مطلب
معرفی
در پایتون، لیست ها به دلیل تطبیق پذیری، جزو پرکاربردترین ساختارهای داده هستند. آنها می توانند انواع مختلفی از داده ها را نگهداری کنند و به راحتی قابل دستکاری هستند. یکی از کارهایی که ممکن است با آن روبرو شوید این است که باید به طور تصادفی یک مورد را از یک لیست انتخاب کنید.
این بایت شما را راهنمایی می کند که چگونه این کار را با استفاده از چند روش مختلف انجام دهید. از این قسمت، میتوانید انتخاب کنید که کدام را ترجیح میدهید یا به بهترین وجه مناسب مورد استفاده شما است.
چرا به طور تصادفی یک مورد را انتخاب کنید؟
انتخاب تصادفی یک آیتم از یک لیست یک عملیات رایج در بسیاری از کارهای برنامه نویسی است. به عنوان مثال، میتوان از آن در بازیها برای ایجاد رفتارهای تصادفی، در یادگیری ماشینی برای تقسیم مجموعه دادهها به مجموعههای آموزشی و آزمایشی، یا در شبیهسازی برای تولید ورودیهای تصادفی دیگر استفاده کرد. درک روش انتخاب تصادفی یک آیتم از لیست می تواند ابزار مفیدی در کد پایتون شما باشد.
روش: استفاده از random.choice()
این random.choice()
تابع ساده ترین راه برای انتخاب یک مورد تصادفی از یک لیست است. این تابع بخشی از random
ماژول، بنابراین قبل از استفاده باید این ماژول را وارد کنید.
در اینجا یک مثال است:
import random
my_list = ('apple', 'banana', 'cherry', 'date', 'elderberry')
random_item = random.choice(my_list)
print(random_item)
با اجرای این کد، هر بار یک آیتم تصادفی از لیست خارج می شود. مثلا:
$ python3 random_choice.py
banana
سر بالا! این random.choice()
تابع یک را افزایش خواهد داد IndexError
اگر لیست ورودی خالی باشد بنابراین، قبل از استفاده از این تابع، مطمئن شوید که لیست شما حداقل یک مورد دارد.
روش: استفاده از random.randint()
راه دیگر برای انتخاب تصادفی یک مورد از یک لیست، استفاده از random.randint()
تابع. این تابع یک عدد صحیح تصادفی را در یک محدوده مشخص تولید می کند که می تواند به عنوان یک شاخص برای انتخاب یک مورد از لیست استفاده شود.
در اینجا روش انجام این کار آمده است:
import random
my_list = ('apple', 'banana', 'cherry', 'date', 'elderberry')
random_index = random.randint(0, len(my_list) - 1)
random_item = my_list(random_index)
print(random_item)
با اجرای این کد نیز هر بار یک آیتم تصادفی از لیست خارج می شود. مثلا:
$ python3 random_randint.py
date
این random.randint()
تابع در حین تولید عدد صحیح تصادفی شامل هر دو نقطه پایانی می شود، بنابراین باید 1 را از طول لیست کم کنیم تا از IndexError
.
اگر بخواهید فقط یک انتخاب تصادفی را انتخاب کنید، ممکن است این روش بهترین باشد بخش از لیست به عنوان مثال، اگر لیست شما 100 مورد دارد، می توانید آرگومان دوم را روی 50 تنظیم کنید تا فقط از نیمه اول انتخاب کنید. بنابراین، این روش کنترل کمی بیشتر به شما می دهد random.choice()
.
انتخاب تصادفی چند مورد
شما به راحتی می توانید چندین مورد را از یک لیست به طور تصادفی با استفاده از random.sample()
تابع. این تابع یک لیست با طول خاص از آیتم های انتخاب شده از دنباله ای که ارائه می کنید را برمی گرداند. فرض کنید می خواهیم سه مورد تصادفی را از یک لیست انتخاب کنیم:
import random
my_list = ('apple', 'banana', 'cherry', 'date', 'elderberry')
random_sample = random.sample(my_list, 3)
print(random_sample)
این ممکن است خروجی:
('date', 'apple', 'cherry')
این random.sample()
تابع یک راه عالی برای به دست آوردن چندین مورد تصادفی از یک لیست است. با این حال، به خاطر داشته باشید که تعداد موارد درخواستی شما نباید از طول لیست بیشتر شود! اگر این کار را کرد، یک دریافت خواهید کرد ValueError
.
توجه داشته باشید: این random.sample()
تابع اجازه تکرار را نمی دهد. هر مورد در لیست برگشتی منحصر به فرد خواهد بود.
انتخاب تصادفی مقادیر منحصر به فرد
بسته به روی مورد استفاده شما، ممکن است بخواهید موارد تصادفی را از یک لیست انتخاب کنید اما نخواهید یک مورد را دو بار انتخاب کنید. در این صورت می توانید از random.sample()
عملکرد را تضمین می کند که هیچ تکراری در خروجی وجود ندارد.
با این حال، اگر میخواهید موارد را بهطور تصادفی از فهرست انتخاب کنید و موارد تکراری را مجاز کنید، میتوانید از یک حلقه با random.choice()
. در اینجا یک مثال است:
import random
my_list = ('apple', 'banana', 'cherry', 'date', 'elderberry')
random_choices = (random.choice(my_list) for _ in range(3))
print(random_choices)
این ممکن است خروجی:
('date', 'date', 'cherry')
در اینجا، “تاریخ” دو بار انتخاب شد. این روش زمانی مفید است که بخواهید به کد خود اجازه دهید چندین بار یک مورد را انتخاب کند.
نتیجه
انتخاب تصادفی از یک لیست یک کار رایج در پایتون است random
ماژول روش های مختلفی را برای دستیابی به این امر ارائه می دهد. این random.choice()
و random.randint()
روش ها برای انتخاب یک مورد مفید هستند، در حالی که random.sample()
می تواند چندین مورد را بدون تکرار انتخاب کند. اگر نیاز به انتخاب چندین آیتم با تکرارهای احتمالی دارید، یک حلقه با random.choice()
راهی برای رفتن است
(برچسبها به ترجمه)# python
منتشر شده در 1402-12-29 08:23:05