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

รายการ Python Shuffle:คำแนะนำทีละขั้นตอน

วิธี 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 ของคุณให้ดีขึ้น