Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python สุ่มสร้าง N รายการ K size


เมื่อจำเป็นต้องสร้างรายการ N แบบสุ่มที่มีขนาด K จะมีการกำหนดเมธอดที่สับเปลี่ยนค่าและให้ผลลัพธ์

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน

from random import shuffle

def gen_random_list(my_val, K):
   while True:
      shuffle(my_val)
      yield my_val[:K]

my_list = [12, 45, 76, 32, 45, 88, 99, 0, 1]
print("The list is ")
print(my_list)

K, N = 4, 5
print("The value of K is ")
print(K)
print("The value of N is ")
print(N)

my_result = []
for elem in range(0, N):
   my_result.append(next(gen_random_list(my_list, K)))

print("The result is " )
print(my_result)

ผลลัพธ์

The list is
[12, 45, 76, 32, 45, 88, 99, 0, 1]
The value of K is
4
The value of N is
5
The result is
[[88, 76, 99, 12], [12, 99, 32, 76], [32, 76, 12, 99], [32, 45, 0, 12], [76, 0, 1, 45]]

คำอธิบาย

  • แพ็คเกจที่จำเป็นจะถูกนำเข้าสู่สภาพแวดล้อม

  • มีการกำหนดเมธอดชื่อ 'gen_random_list' ซึ่งรับค่าและ 'K' เป็นพารามิเตอร์

  • มันใช้วิธี 'สับเปลี่ยน' และตัวดำเนินการ 'ผลตอบแทน' พร้อมกับการแบ่งส่วนเพื่อให้ได้ผลลัพธ์

  • นอกเมธอด รายการถูกกำหนดและแสดงบนคอนโซล

  • ค่าสำหรับ K และ N ถูกกำหนดและแสดงบนคอนโซล

  • มีการกำหนดรายการที่ว่างเปล่า

  • ช่วงระหว่าง 0 ถึง N ถูกทำซ้ำ และมีการเรียกใช้เมธอดและผลลัพธ์จะถูกผนวกเข้ากับรายการว่าง

  • สิ่งนี้จะแสดงเป็นเอาต์พุตบนคอนโซล