วิธี Python random.shuffle() ของ Python จะเปลี่ยนลำดับของรายการในรายการแบบสุ่ม เมื่อรวมกับการสร้างดัชนี วิธีนี้มีประโยชน์สำหรับการเลือกรายการสุ่มจากรายการ วิธี random.shuffle() ยอมรับหนึ่งอาร์กิวเมนต์:รายการที่คุณต้องการเปลี่ยน
คุณอาจพบสถานการณ์ที่คุณต้องการสุ่มลำดับของรายการในรายการ ตัวอย่างเช่น สมมติว่าคุณกำลังสร้างโปรแกรมที่เลือกผู้ชนะการจับฉลากที่ร้านค้าของคุณ คุณอาจต้องการให้โปรแกรมนั้นเลือกผู้ชนะโดยการสุ่มจัดรายชื่อผู้เข้าร่วมใหม่
นั่นคือสิ่งที่ random.shuffle() เมธอดเข้ามา random.shuffle() วิธีการเป็นส่วนหนึ่งของ สุ่ม โมดูลใน Python และใช้เพื่อเรียงลำดับรายการใหม่ในรายการแบบสุ่ม ในบทช่วยสอนนี้ เราจะพูดถึงวิธีใช้ random.shuffle() วิธีการ
รายการสุ่มหลาม
random.shuffle() ฟังก์ชัน Python สุ่มเรียงลำดับรายการในรายการ วิธีนี้มีประโยชน์สำหรับแอปพลิเคชันที่คุณต้องการดึงข้อมูลจากรายการแบบสุ่ม random.shuffle() วิธีการแก้ไขรายการเดิม วิธีนี้ไม่ได้สร้างรายการใหม่
รายการ เก็บข้อมูลต่างๆ รายการ Python มีการเรียงลำดับ ซึ่งหมายความว่าเมื่อคุณจัดเก็บรายการในรายการ รายการนั้นจะอยู่ในตำแหน่งนั้น แม้ว่านี่จะเป็นคุณสมบัติที่สำคัญของรายการ แต่คุณอาจกำลังสร้างโปรแกรมที่ต้องสับเปลี่ยนลำดับของรายการ
สุ่ม .shuffle() เป็นส่วนหนึ่งของไลบรารีสุ่มซึ่งใช้ตัวสร้างตัวเลขสุ่มหลอกใน Python ซึ่งหมายความว่าก่อนที่เราจะสามารถใช้ random.shuffle() วิธีเราต้องนำเข้าไลบรารีแบบสุ่มลงในโค้ดของเรา เราสามารถทำได้โดยเพิ่มสิ่งต่อไปนี้ในโค้ดของเรา:
import random
ไวยากรณ์สำหรับ random.shuffle() วิธีคือ:
import random random.shuffle(list_name, function)
random.shuffle() เมธอดใช้พารามิเตอร์สองตัว:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
- list_name :รายการ , ทูเพิล , หรือ สตริง ที่คุณต้องการสับเปลี่ยน (จำเป็น)
- ฟังก์ชัน :ชื่อของฟังก์ชันที่คืนค่าโฟลตสุ่มระหว่าง 0.0 ถึง 1.0 หรือโฟลตอื่นภายในช่วงนั้น (ไม่บังคับ)
การใช้ ฟังก์ชัน พารามิเตอร์ด้วย random.shuffle() เป็นเรื่องแปลก คุณจะใช้เฉพาะเมื่อคุณต้องการใช้อัลกอริธึมการสับเปลี่ยนที่กำหนดเองซึ่งให้น้ำหนักค่าต่างกัน ดังนั้น เราไม่ครอบคลุมถึง ฟังก์ชัน พารามิเตอร์ของ random.shuffle() ในบทช่วยสอนนี้
คุณสามารถใช้เมธอด random.shuffle() กับสตริงหรือทูเพิลได้ ไม่ว่าในกรณีใด random.shuffle() จะแก้ไขข้อมูลดั้งเดิม ไม่สร้างค่าใหม่ เช่น สตริงใหม่หรือทูเพิลใหม่
Python random.shuffle():ตัวอย่าง
สมมติว่าเรากำลังดำเนินการจับฉลากที่ร้านของเรา ผู้ชนะจะได้รับบัตรของขวัญมูลค่า 100 เหรียญซึ่งสามารถใช้ซื้อผลิตภัณฑ์ใดก็ได้ในร้านค้า ผู้ที่ได้อันดับ 2 จะได้รับบัตรของขวัญ 50 ดอลลาร์ และอันดับ 3 จะได้รับบัตรของขวัญมูลค่า 25 ดอลลาร์
เรามีรายชื่อที่มีชื่อของทุกคนที่เข้าร่วมการจับฉลาก เป้าหมายของเราคือจัดระเบียบรายชื่อใหม่แบบสุ่มเพื่อตัดสินผู้ชนะ ในการดำเนินการนี้ เราจะใช้ random.shuffle() วิธีการ
นี่คือรหัสที่เราสามารถใช้เพื่อจัดระเบียบลำดับของรายชื่อของเราแบบสุ่มเพื่อให้เราสามารถระบุผู้ชนะของเรา:
import random raffle_entrants = ['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson'] print('Entrants (ordered)') print(raffle_entrants) print('Winners (random order)') random.shuffle(raffle_entrants) print(raffle_entrants)
ฟังก์ชันของเราคืนค่าดังต่อไปนี้:
Entrants (ordered) ['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson'] Winners (random order) ['Adie Paulson', 'Braden Cox', 'Carl Sanderson', 'Leonardo Downs', 'Thomas Crane', 'Lindsay Knapp']
ในบรรทัดแรก เรานำเข้าไลบรารีแบบสุ่มโดยใช้คำสั่งการนำเข้า Python ไลบรารีนี้มี random.shuffle() วิธีที่เราใช้ในภายหลังในโค้ดของเรา จากนั้น เราประกาศตัวแปร Python ชื่อ raffle_entrants ซึ่งรวมถึงชื่อของทุกคนที่เข้าร่วมการจับฉลากด้วย
ในสองบรรทัดถัดไป เราพิมพ์ข้อความไปยังคอนโซลว่า ผู้เข้าร่วม (สั่งซื้อ) ตามด้วยเนื้อหาของ raffle_entrants รายการ. ซึ่งช่วยให้เราเห็นรายการของเราก่อนที่โปรแกรมจะสับเปลี่ยน
เราพิมพ์ข้อความไปที่คอนโซลว่า “ผู้ชนะ (ลำดับแบบสุ่ม)” รหัสของเราใช้ random.shuffle() วิธีการสับเปลี่ยนเนื้อหาของ raffle_entrants . ของเรา รายการ. สุดท้าย เราพิมพ์ raffle_entrants . ของเราออกมา รายการหลังจากสับเปลี่ยนโดยใช้ random.shuffle() .
ตอนนี้เรามีรายชื่อแบบสุ่มแล้ว จากตัวอย่างข้างต้น ตอนนี้เราทราบแล้วว่า Braden Cox ชนะที่หนึ่ง Thomas Crane คว้าอันดับ 2 และ Leonardo Downs คว้าอันดับ 3
การตรวจสอบรหัสของเรา
หากเราเรียกใช้โค้ดของเราอีกครั้ง เราจะได้รายการ Python ที่สั่งซื้อใหม่ นี่คือสิ่งที่จะเกิดขึ้นเมื่อเรารันโค้ดของเราเป็นครั้งที่สอง:
Entrants (ordered) ['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson'] Winners (random order) ['Braden Cox', 'Lindsay Knapp', 'Carl Sanderson', 'Leonardo Downs', 'Thomas Crane', 'Adie Paulson']
ดังนั้นจึงชัดเจนว่า random.shuffle() จะส่งคืนรายการที่มีการจัดระเบียบแบบสุ่ม (ในทางเทคนิค รายการที่มีการจัดระเบียบแบบสุ่มหลอก) ทุกครั้งที่เราใช้มัน
บทสรุป
คุณสามารถสุ่มลำดับของรายการในรายการใน Python โดยใช้ random.shuffle() กระบวนการ. ในตัวอย่างของเรา random.shuffle() ช่วยเราสร้างโปรแกรมที่สุ่มเลือกผู้ชนะการจับฉลากจากรายชื่อผู้เข้าร่วม
คุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโปรแกรม Python หรือไม่? อ่านคู่มือ How to Learn Python ของเรา ในคู่มือนี้ คุณจะได้พบกับเคล็ดลับยอดนิยมเกี่ยวกับวิธีการเรียนรู้ Python คู่มือนี้ยังรวมถึงรายการทรัพยากรการเรียนรู้และหลักสูตรที่จะช่วยให้คุณพัฒนาความรู้ Python ของคุณให้ดีขึ้น