Computer >> Máy Tính >  >> Lập trình >> Python

Danh sách xáo trộn Python:Hướng dẫn từng bước

Phương thức random.shuffle () trong Python thay đổi thứ tự của các mục trong danh sách một cách ngẫu nhiên. Kết hợp với lập chỉ mục, phương pháp này hữu ích để chọn một mục ngẫu nhiên từ danh sách. Phương thức random.shuffle () chấp nhận một đối số:danh sách bạn muốn thay đổi.


Bạn có thể gặp trường hợp muốn sắp xếp thứ tự các mục trong danh sách một cách ngẫu nhiên. Ví dụ:giả sử bạn đang tạo một chương trình chọn người chiến thắng trong một cuộc xổ số tại cửa hàng của bạn. Bạn có thể muốn chương trình đó chọn ra người chiến thắng bằng cách sắp xếp lại danh sách những người tham gia một cách ngẫu nhiên.

Đó là nơi mà random.shuffle () có phương thức. random.shuffle () phương pháp là một phần của ngẫu nhiên mô-đun bằng Python và được sử dụng để sắp xếp lại thứ tự các mục trong danh sách một cách ngẫu nhiên. Trong hướng dẫn này, chúng ta sẽ thảo luận về cách sử dụng random.shuffle () phương pháp.

Danh sách xáo trộn Python

random.shuffle () Hàm Python sắp xếp lại ngẫu nhiên các mục trong danh sách. Phương pháp này hữu ích cho các ứng dụng mà bạn muốn lấy ngẫu nhiên một mục từ danh sách. random.shuffle () phương pháp sửa đổi một danh sách ban đầu. Phương pháp này không tạo danh sách mới.

A danh sách lưu trữ các bộ sưu tập dữ liệu. Danh sách Python được sắp xếp theo thứ tự, có nghĩa là khi bạn lưu trữ một mục trong danh sách, nó sẽ ở vị trí đó. Mặc dù đây là một tính năng quan trọng của danh sách, nhưng bạn có thể đang tạo một chương trình cần xáo trộn thứ tự của danh sách.

ngẫu nhiên .shuffle () là một phần của thư viện ngẫu nhiên, thực hiện các trình tạo số giả ngẫu nhiên bằng Python. Điều này có nghĩa là trước khi chúng ta có thể sử dụng random.shuffle () , chúng ta cần nhập thư viện ngẫu nhiên vào mã của chúng ta. Chúng tôi có thể làm như vậy bằng cách thêm phần sau vào mã của mình:

import random

Cú pháp cho random.shuffle () phương pháp là:

import random

random.shuffle(list_name, function)

random.shuffle () phương thức nhận hai tham số:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

  • list_name :danh sách , tuple hoặc chuỗi bạn muốn xáo trộn thứ tự của ai (bắt buộc).
  • chức năng :tên của một hàm trả về một số thực ngẫu nhiên trong khoảng từ 0,0 đến 1,0 hoặc một số thực khác trong phạm vi đó (tùy chọn).

Sử dụng chức năng tham số với random.shuffle () là không phổ biến. Bạn chỉ sử dụng nó khi bạn muốn sử dụng một thuật toán xáo trộn tùy chỉnh cân nhắc các giá trị khác nhau. Do đó, chúng tôi không đề cập đến chức năng tham số của random.shuffle () trong hướng dẫn này.

Bạn có thể sử dụng phương thức random.shuffle () trên một chuỗi hoặc một bộ. Trong mọi trường hợp, random.shuffle () sửa đổi dữ liệu gốc. Nó không tạo ra một giá trị mới, chẳng hạn như một chuỗi mới hoặc một bộ giá trị mới.

Python random.shuffle ():Ví dụ

Giả sử chúng tôi đang chạy xổ số tại cửa hàng của chúng tôi. Người chiến thắng sẽ nhận được thẻ quà tặng trị giá 100 đô la mà họ có thể chi tiêu cho bất kỳ sản phẩm nào trong cửa hàng. Người ở vị trí thứ hai sẽ nhận được thẻ quà tặng $ 50 và người ở vị trí thứ ba sẽ nhận được thẻ quà tặng $ 25.

Chúng tôi có một danh sách có tên của tất cả những người đã tham gia xổ số. Mục tiêu của chúng tôi là sắp xếp lại danh sách của mình theo thứ tự ngẫu nhiên để xác định những người chiến thắng. Để làm điều này, chúng tôi sẽ sử dụng random.shuffle () phương pháp.

Đây là mã chúng tôi có thể sử dụng để sắp xếp lại thứ tự danh sách của mình một cách ngẫu nhiên để chúng tôi có thể xác định người chiến thắng của mình:

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)

Hàm của chúng tôi trả về như sau:

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']

Trên dòng đầu tiên, chúng tôi nhập thư viện ngẫu nhiên bằng cách sử dụng câu lệnh nhập Python. Thư viện này chứa random.shuffle () phương pháp mà chúng tôi sử dụng sau này trong mã của chúng tôi. Sau đó, chúng tôi khai báo một biến Python có tên là raffle_entrants trong đó bao gồm tên của tất cả những người đã tham gia xổ số.

Trên hai dòng tiếp theo, chúng tôi in ra một thông báo tới bảng điều khiển với nội dung là Người tham gia (đã đặt hàng) , tiếp theo là nội dung của raffle_entrants danh sách. Điều này cho phép chúng tôi xem danh sách của mình trước khi chương trình xáo trộn nó.

Chúng tôi in ra một thông báo tới bảng điều khiển với nội dung “ Người thắng cuộc (thứ tự ngẫu nhiên)”. Mã của chúng tôi sử dụng random.shuffle () phương pháp xáo trộn nội dung của raffle_entrants của chúng tôi danh sách. Cuối cùng, chúng tôi in ra raffle_entrants của mình danh sách sau khi nó được xáo trộn bằng cách sử dụng random.shuffle () .

Bây giờ chúng ta có một danh sách tên được xáo trộn ngẫu nhiên. Theo ví dụ trên, bây giờ chúng ta biết rằng Braden Cox đã giành được vị trí đầu tiên. Thomas Crane giành vị trí thứ hai và Leonardo Downs giành vị trí thứ ba.

Xác minh mã của chúng tôi

Nếu chúng tôi chạy lại mã của mình, chúng tôi sẽ nhận được một danh sách Python mới được sắp xếp. Đây là những gì sẽ xảy ra khi chúng tôi thực thi mã của mình lần thứ hai:

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']

Do đó, rõ ràng là random.shuffle () sẽ trả về một danh sách được sắp xếp ngẫu nhiên (về mặt kỹ thuật, một danh sách giả được sắp xếp ngẫu nhiên) mỗi khi chúng tôi sử dụng nó.

Kết luận

Bạn có thể sắp xếp thứ tự ngẫu nhiên của các mục trong danh sách bằng Python bằng cách sử dụng random.shuffle () phương pháp. Trong ví dụ của chúng tôi, random.shuffle () đã giúp chúng tôi tạo ra một chương trình chọn ngẫu nhiên những người chiến thắng xổ số từ danh sách những người tham gia.

Bạn có muốn tìm hiểu thêm về lập trình Python? Đọc hướng dẫn Cách học Python của chúng tôi. Trong hướng dẫn này, bạn sẽ tìm thấy các mẹo hàng đầu về cách học Python. Hướng dẫn này cũng bao gồm danh sách các tài nguyên học tập và các khóa học sẽ giúp bạn nâng cao kiến ​​thức Python của mình.