60 of 151 menu

Phương thức sample của module random

Phương thức sample của module random trả về một mẫu ngẫu nhiên các phần tử từ một chuỗi. Ở tham số đầu tiên của phương thức, chúng ta chỉ định chuỗi, ở tham số thứ hai - số lượng phần tử, mà chúng ta muốn chọn một cách ngẫu nhiên.

Ở tham số thứ ba không bắt buộc được đặt tên k, chúng ta có thể chỉ định danh sách các phần tử để lặp lại. Điều này cho phép tăng xác suất lấy mẫu của các phần tử đã chỉ định. Lưu ý rằng tham số thứ ba của phương thức chỉ được thêm vào bắt đầu từ phiên bản Python 3.9.

Cú pháp

import random random.sample(chuỗi, số lượng phần tử, [k=lặp lại])

Ví dụ

Hãy lấy ba phần tử ngẫu nhiên từ một danh sách:

lst = [1, 2, 3, 4, 5] print(random.sample(lst, 3))

Kết quả thực thi mã:

[2, 1, 5]

Ví dụ

Hãy thử lấy mẫu các phần tử ngẫu nhiên từ một tuple:

tpl = (1, 2, 3, 4, 5) print(random.sample(tpl, 2))

Kết quả thực thi mã:

[3, 2]

Ví dụ

Cũng có thể chọn các phần tử từ chuỗi được tạo ra bởi hàm range:

print(random.sample(range(0, 10), 3))

Kết quả thực thi mã:

[0, 8, 9]

Ví dụ

Bây giờ hãy lấy một danh sách và sử dụng tham số counts để gán số lần lặp lại cho mỗi phần tử trong danh sách. Trong trường hợp của chúng ta, hãy để phần tử đầu tiên lặp lại hai lần, phần tử thứ hai - ba lần, và phần tử thứ ba - bốn lần. Cũng cần chỉ định tên tham số k để xuất số lượng phần tử:

lst = [1, 2, 3] print(random.sample(lst, counts=[2, 3, 4], k=3))

Mã này tương đương với mã sau:

lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # danh sách thực tế như vậy print(random.sample(lst, 3))

Ví dụ

Bây giờ hãy thử lấy các phần tử từ một tập hợp:

st = {1, 2, 3, 4, 5} print(random.sample(st, 2))

Chúng ta sẽ nhận được lỗi sau:

[5, 2] DeprecationWarning: Sampling from a set deprecated since Python 3.9 and will be removed in a subsequent version. print(random.sample(st, 2))

Điều này liên quan đến việc từ phiên bản Python 3.9, không có khả năng lấy mẫu từ một tập hợp.

Xem thêm

  • phương thức choice của module random,
    trả về một phần tử ngẫu nhiên từ một chuỗi
  • phương thức random của module random,
    trả về một số giả ngẫu nhiên
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối