เมื่อจำเป็นต้องสร้างรายการ 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 ถูกทำซ้ำ และมีการเรียกใช้เมธอดและผลลัพธ์จะถูกผนวกเข้ากับรายการว่าง
-
สิ่งนี้จะแสดงเป็นเอาต์พุตบนคอนโซล