Hướng dẫn how do you randomly select a list in python without replacement? - làm thế nào để bạn chọn ngẫu nhiên một danh sách trong python mà không cần thay thế?

Trang chủ »Python» ngẫu nhiên »Python Random Mẫu () để chọn nhiều mục từ bất kỳ chuỗi nàoPython » Random » Python random sample() to choose multiple items from any sequence

Trong bài học này, bạn sẽ học cách sử dụng hàm

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
2 để chọn mẫu/nhiều mục từ danh sách Python, bộ và từ điển. Chúng ta cũng sẽ thấy làm thế nào để tạo ra một mảng mẫu ngẫu nhiên từ một mảng đa chiều lớn trong Python.

Mô -đun ngẫu nhiên Python sườn cung cấp chức năng

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
3 để lấy mẫu ngẫu nhiên, chọn ngẫu nhiên nhiều hơn một phần tử từ danh sách mà không lặp lại các phần tử. Nó trả về một danh sách các mục duy nhất được chọn ngẫu nhiên từ danh sách, trình tự hoặc bộ. Chúng tôi gọi nó là lấy mẫu ngẫu nhiên mà không cần thay thế.

Ví dụ, theo thuật ngữ đơn giản, bạn có danh sách 100 tên và bạn muốn chọn mười tên một cách ngẫu nhiên từ nó mà không cần lặp lại tên, sau đó bạn phải sử dụng

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
2.

Lưu ý: Sử dụng chức năng ngẫu nhiên.choice () nếu bạn chỉ muốn chọn một mục duy nhất trong danh sách.: Use the random.choice() function if you want to choose only a single item from the list.

Bạn sẽ học các cách sau đây để tạo các mẫu ngẫu nhiên trong Python

Hoạt độngSự mô tả
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
5
Tạo
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
6 Các mẫu duy nhất (nhiều mục) từ một chuỗi không có sự lặp lại. Ở đây,
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
7 có thể là
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
8,
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
9,
import random

exampleList = [20, 40, 20, 20, 40, 60, 70]
# choosing 4 random items from a list
sampled_list2 = random.sample(exampleList, 4)
print(sampled_list2)
# Output [60, 20, 20, 40]
0,
import random

exampleList = [20, 40, 20, 20, 40, 60, 70]
# choosing 4 random items from a list
sampled_list2 = random.sample(exampleList, 4)
print(sampled_list2)
# Output [60, 20, 20, 40]
1. Mẫu mà không thay thế.
import random

exampleList = [20, 40, 20, 20, 40, 60, 70]
# choosing 4 random items from a list
sampled_list2 = random.sample(exampleList, 4)
print(sampled_list2)
# Output [60, 20, 20, 40]
2
Tạo các mẫu
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
6 từ một chuỗi với khả năng lặp lại. Mẫu với thay thế
import random

exampleList = [20, 40, 20, 20, 40, 60, 70]
# choosing 4 random items from a list
sampled_list2 = random.sample(exampleList, 4)
print(sampled_list2)
# Output [60, 20, 20, 40]
4
Trả về danh sách lấy mẫu của các số nguyên ngẫu nhiên độc đáo.
import random

exampleList = [20, 40, 20, 20, 40, 60, 70]
# choosing 4 random items from a list
sampled_list2 = random.sample(exampleList, 4)
print(sampled_list2)
# Output [60, 20, 20, 40]
5
Trả về hai cặp giá trị chính từ từ điển Python.
Cách tạo mẫu ngẫu nhiên trong Python

Cách sử dụng import random aList = [20, 40, 80, 100, 120] sampled_list = random.sample(aList, 3) print(sampled_list) # Output [20, 100, 80]2

Nó trả về một danh sách mới chứa các mục được chọn ngẫu nhiên.

Cú pháp

random.sample(population, k)

Tranh luận

Hàm

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
3 có hai đối số và cả hai đều được yêu cầu.

  • import random
    
    exampleList = [20, 40, 20, 20, 40, 60, 70]
    # choosing 4 random items from a list
    sampled_list2 = random.sample(exampleList, 4)
    print(sampled_list2)
    # Output [60, 20, 20, 40]
    8: Nó có thể là bất kỳ chuỗi nào như danh sách, bộ và chuỗi mà bạn muốn chọn số chiều dài k.
  • import random
    
    exampleList = [20, 40, 20, 20, 40, 60, 70]
    # choosing 4 random items from a list
    sampled_list2 = random.sample(exampleList, 4)
    print(sampled_list2)
    # Output [60, 20, 20, 40]
    9: Đó là số lượng các mục ngẫu nhiên bạn muốn chọn từ chuỗi.
    import random
    
    exampleList = [20, 40, 20, 20, 40, 60, 70]
    # choosing 4 random items from a list
    sampled_list2 = random.sample(exampleList, 4)
    print(sampled_list2)
    # Output [60, 20, 20, 40]
    9 phải nhỏ hơn kích thước của danh sách được chỉ định.
  • Nó tăng
    import random
    
    names = ["Roger", "Nadal", "Novac", "Andre", "Sarena", "Mariya", "Martina"]
    # choose three random sample with replacement to including repetition
    sample_list3 = random.choices(names, k=3)
    print(sample_list3)
    # output ['Martina', 'Nadal', 'Martina']
    1 nếu bạn bỏ lỡ bất kỳ đối số cần thiết nào.

Ví dụ mẫu ngẫu nhiên () để chọn nhiều mục từ danh sách mà không cần lặp lại

Trong ví dụ này, chúng tôi sẽ chọn ba mục ngẫu nhiên từ một danh sách.

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]

Như bạn có thể thấy trong đầu ra, hàm

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
3 không lặp lại các mục trong danh sách. Nó cũng được gọi là một mẫu ngẫu nhiên mà không cần thay thế. Vì vậy, sử dụng nó để tạo ra các mẫu ngẫu nhiên mà không cần lặp lại.sample without replacement. So use it to generate random samples without repetitions.

Các điểm cần nhớ về import random aList = [20, 40, 80, 100, 120] sampled_list = random.sample(aList, 3) print(sampled_list) # Output [20, 100, 80]2

  • Nó không thay đổi trình tự hoặc danh sách được chỉ định. Nó trả về một danh sách lấy mẫu mới chứa các yếu tố từ chuỗi hoặc danh sách được chỉ định.
  • Danh sách hoặc trình tự được chỉ định không cần phải có thể băm hoặc duy nhất.

Lưu ý quan trọng: Nếu danh sách của bạn chứa các phần tử lặp đi lặp lại hoặc trùng lặp, thì

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
3 có thể chọn các mục lặp lại vì mỗi lần xuất hiện là một lựa chọn có thể trong mẫu. Nó chọn các mục lặp lại từ danh sách được chỉ định nếu các thành viên duy nhất nhỏ hơn kích thước lấy mẫu.: If your list contains repeated or duplicate elements, then
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
3 can pick repeated items because each occurrence is a possible selection in the sample. It chooses the repeated items from the specified list if the unique members are less than a sampling size.

Hãy cùng xem ví dụ thể hiện như vậy.

import random

exampleList = [20, 40, 20, 20, 40, 60, 70]
# choosing 4 random items from a list
sampled_list2 = random.sample(exampleList, 4)
print(sampled_list2)
# Output [60, 20, 20, 40]

mẫu ngẫu nhiên với sự thay thế để bao gồm cả sự lặp lại

Sử dụng hàm ngẫu nhiên.Choices () để chọn nhiều mục ngẫu nhiên từ một chuỗi với sự lặp lại. Ví dụ: bạn có một danh sách các tên và bạn muốn chọn bốn tên ngẫu nhiên từ nó và nó không sao cho bạn nếu một trong những tên lặp lại.

Một hàm

import random

names = ["Roger", "Nadal", "Novac", "Andre", "Sarena", "Mariya", "Martina"]
# choose three random sample with replacement to including repetition
sample_list3 = random.choices(names, k=3)
print(sample_list3)
# output ['Martina', 'Nadal', 'Martina']
5 được giới thiệu trong Python 3.6. Hãy xem điều này với một ví dụ.

import random

names = ["Roger", "Nadal", "Novac", "Andre", "Sarena", "Mariya", "Martina"]
# choose three random sample with replacement to including repetition
sample_list3 = random.choices(names, k=3)
print(sample_list3)
# output ['Martina', 'Nadal', 'Martina']

Tạo danh sách các số nguyên ngẫu nhiên được lấy mẫu

Bạn có thể sử dụng

import random

names = ["Roger", "Nadal", "Novac", "Andre", "Sarena", "Mariya", "Martina"]
# choose three random sample with replacement to including repetition
sample_list3 = random.choices(names, k=3)
print(sample_list3)
# output ['Martina', 'Nadal', 'Martina']
6 và
import random

names = ["Roger", "Nadal", "Novac", "Andre", "Sarena", "Mariya", "Martina"]
# choose three random sample with replacement to including repetition
sample_list3 = random.choices(names, k=3)
print(sample_list3)
# output ['Martina', 'Nadal', 'Martina']
7 để tạo các số ngẫu nhiên, nhưng nó có thể lặp lại các số. Để tạo danh sách các số ngẫu nhiên duy nhất, chúng ta cần sử dụng phương thức mẫu ().

Warp a range () hàm bên trong

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
3 để tạo danh sách các số ngẫu nhiên mà không cần sao chép. Hàm phạm vi () tạo ra các số ngẫu nhiên f chuỗi f.

Hãy cùng xem một trình tạo mẫu ngẫu nhiên để tạo 5 số mẫu từ 1 đến 100.

import random

# create list of 5 random numbers
num_list = random.sample(range(100), 5)
print(num_list)
# output [79, 49, 6, 4, 57]

Trên hết, bạn có thể sử dụng

import random

names = ["Roger", "Nadal", "Novac", "Andre", "Sarena", "Mariya", "Martina"]
# choose three random sample with replacement to including repetition
sample_list3 = random.choices(names, k=3)
print(sample_list3)
# output ['Martina', 'Nadal', 'Martina']
9 để xáo trộn danh sách các số nguyên ngẫu nhiên.

import random

# create list of 5 numbers
num_list = random.sample(range(100), 10)
random.shuffle(num_list)
print(num_list)
# output [90, 36, 63, 37, 23, 11, 30, 68, 99, 5]

Lưu ý: Chúng tôi đã sử dụng phạm vi () với

import random

# create list of 5 random numbers
num_list = random.sample(range(100), 5)
print(num_list)
# output [79, 49, 6, 4, 57]
0 để tạo danh sách các số ngẫu nhiên duy nhất vì nó nhanh, tiết kiệm bộ nhớ và cải thiện hiệu suất lấy mẫu từ một dân số lớn.: We used the range() with a
import random

# create list of 5 random numbers
num_list = random.sample(range(100), 5)
print(num_list)
# output [79, 49, 6, 4, 57]
0 to generate a list of unique random numbers because it is fast, memory-efficient, and improves the performance for sampling from a large population.

Một mẫu ngẫu nhiên từ bộ python

Python Set là một bộ sưu tập không có thứ tự của các mặt hàng độc đáo. Giống như danh sách, chúng ta có thể chọn các mẫu ngẫu nhiên trong một tập hợp. Hãy cùng xem cách chọn 3 mục ngẫu nhiên từ

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
9.

import random

aSet = {"Jhon", "kelly", "Scoot", "Emma", "Eric"}
# random 3 samples from set
sampled_set = random.sample(aSet, 3)
print(sampled_set)
# Output ['Emma', 'kelly', 'Eric']

Mẫu ngẫu nhiên từ từ điển Python

Từ điển Python là một bộ sưu tập các giá trị độc đáo không được lưu trữ trong các cặp (giá trị khóa).

Hàm

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
3 yêu cầu
import random

exampleList = [20, 40, 20, 20, 40, 60, 70]
# choosing 4 random items from a list
sampled_list2 = random.sample(exampleList, 4)
print(sampled_list2)
# Output [60, 20, 20, 40]
8 là một chuỗi hoặc được đặt, và từ điển không phải là một chuỗi. Nếu bạn cố gắng vượt qua
import random

# create list of 5 random numbers
num_list = random.sample(range(100), 5)
print(num_list)
# output [79, 49, 6, 4, 57]
4 trực tiếp, bạn sẽ nhận được
import random

# create list of 5 random numbers
num_list = random.sample(range(100), 5)
print(num_list)
# output [79, 49, 6, 4, 57]
5.

Vì vậy, sẽ là tốt nhất nếu bạn đã sử dụng

import random

# create list of 5 random numbers
num_list = random.sample(range(100), 5)
print(num_list)
# output [79, 49, 6, 4, 57]
6 để lấy tất cả các mục từ điển dưới dạng danh sách và chuyển nó cho
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
3 cùng với kích thước lấy mẫu (số lượng các cặp giá trị khóa bạn muốn chọn ngẫu nhiên ra khỏi Dict) .

Hãy cùng xem ví dụ để chọn hai mẫu của cặp giá trị khóa từ từ điển.

import random

marks_dict = {
    "Kelly": 55,
    "jhon": 70,
    "Donald": 60,
    "Lennin": 50
}
sampled_dict = random.sample(marks_dict.items(), 2)
print(sampled_dict)
# Output [('Donald', 60), ('jhon', 70)]

# Access key-value from sample
# First key:value
print(sampled_dict[0][0], sampled_dict[0][1])
# Output jhon 70

# Second key:value
print(sampled_dict[1][0], sampled_dict[1][1])
# output Kelly 55

Hạt giống ngẫu nhiên để có được cùng một danh sách mẫu mỗi lần

Hạt giống trình tạo ngẫu nhiên để có được cùng một danh sách các mục được lấy mẫu mỗi lần từ danh sách được chỉ định.

Vượt qua cùng một giá trị hạt giống mỗi lần để có được cùng một danh sách được lấy mẫu

import random

# Randomly select same sample list every time
alist = [20.5, 40.5, 30.5, 50.5, 70.5]

for i in range(3):
    # use 4 as a seed value
    random.seed(4)
    # get sample list of three item
    sample_list = random.sample(alist, 3)
    print(sample_list)
Output
[40.5, 30.5, 20.5]
[40.5, 30.5, 20.5]
[40.5, 30.5, 20.5]

Lưu ý: Để có được cùng một danh sách được lấy mẫu mỗi lần, bạn cần tìm số gốc hạt giống chính xác.: To get the same sampled list every time, you need to find the exact seed root number.

Nhận một mảng mẫu từ một mảng đa chiều

Hầu hết thời gian, chúng tôi làm việc với các mảng 2D hoặc 3D trong Python. Hãy giả sử bạn muốn chọn nhiều hơn một hàng ngẫu nhiên từ mảng đa chiều. Sử dụng hàm

import random

# create list of 5 random numbers
num_list = random.sample(range(100), 5)
print(num_list)
# output [79, 49, 6, 4, 57]
8 để chọn nhiều hàng ngẫu nhiên từ mảng đa chiều.

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
0
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
1

Note::

Các ví dụ trên không an toàn về mặt mật mã. Nếu bạn đang tạo các mẫu cho bất kỳ ứng dụng nhạy cảm bảo mật nào, thì hãy sử dụng Trình tạo ngẫu nhiên bảo mật bằng mã hóa, hãy sử dụng

import random

# create list of 5 random numbers
num_list = random.sample(range(100), 5)
print(num_list)
# output [79, 49, 6, 4, 57]
9 thay vì
import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
2.

Đọc thêm về cách tạo dữ liệu ngẫu nhiên trong Python một cách an toàn bằng mô -đun Bí mật.

import random aList = [20, 40, 80, 100, 120] sampled_list = random.sample(aList, 3) print(sampled_list) # Output [20, 100, 80]2 Lỗi chức năng và ngoại lệ

A & nbsp; mẫu & nbsp; chức năng có thể tăng hai lỗi sau.

  • import random
    
    # create list of 5 numbers
    num_list = random.sample(range(100), 10)
    random.shuffle(num_list)
    print(num_list)
    # output [90, 36, 63, 37, 23, 11, 30, 68, 99, 5]
    2: Nếu kích thước mẫu lớn hơn dân số hoặc trình tự (tức là, danh sách hoặc đặt) kích thước.
  • import random
    
    names = ["Roger", "Nadal", "Novac", "Andre", "Sarena", "Mariya", "Martina"]
    # choose three random sample with replacement to including repetition
    sample_list3 = random.choices(names, k=3)
    print(sample_list3)
    # output ['Martina', 'Nadal', 'Martina']
    1: Nếu bất kỳ trong hai đối số bị thiếu.

Bước tiếp theo

Tôi muốn nghe từ bạn. Bạn nghĩ gì về bài viết này trên Python Random.sample ()? Hoặc có lẽ tôi đã bỏ lỡ một trong những cách sử dụng của

import random

aList = [20, 40, 80, 100, 120]
sampled_list = random.sample(aList, 3)
print(sampled_list)
# Output [20, 100, 80]
2. Dù bằng cách nào, hãy cho tôi biết bằng cách để lại một bình luận dưới đây.leaving a comment below.

Ngoài ra, hãy cố gắng giải quyết các bài tập sau & nbsp; và Quiz & nbsp; để hiểu rõ hơn về việc làm việc với dữ liệu ngẫu nhiên trong Python.

  • Bài tập tạo dữ liệu ngẫu nhiên Python
  • Bài kiểm tra tạo dữ liệu ngẫu nhiên Python

Làm thế nào để bạn chọn ngẫu nhiên một danh sách trong Python mà không cần lặp lại?

Mô -đun ngẫu nhiên của Python cung cấp hàm mẫu () để lấy mẫu ngẫu nhiên, chọn ngẫu nhiên nhiều hơn một phần tử từ danh sách mà không lặp lại các phần tử. Nó trả về một danh sách các mục duy nhất được chọn ngẫu nhiên từ danh sách, trình tự hoặc bộ. Chúng tôi gọi nó là lấy mẫu ngẫu nhiên mà không cần thay thế.sample() function for random sampling, randomly picking more than one element from the list without repeating elements. It returns a list of unique items chosen randomly from the list, sequence, or set. We call it random sampling without replacement.

Làm thế nào để bạn chọn một danh sách ngẫu nhiên trong Python?

Sử dụng Random.RandRange () để chọn giá trị ngẫu nhiên từ danh sách.ngẫu nhiên.Phương thức randrange () được sử dụng để tạo một số ngẫu nhiên trong một phạm vi đã cho, chúng ta có thể chỉ định phạm vi là 0 đến độ dài của danh sách và nhận chỉ mục, sau đó là giá trị tương ứng. randrange() to select random value from a list. random. randrange() method is used to generate a random number in a given range, we can specify the range to be 0 to the length of the list, and get the index, and then the corresponding value.

Làm thế nào để bạn chọn một mục ngẫu nhiên từ một danh sách mà không cần lựa chọn trong Python?

Để sử dụng Python để chọn các phần tử ngẫu nhiên mà không cần thay thế, chúng ta có thể sử dụng hàm ngẫu nhiên.sample ().Hàm chấp nhận hai tham số: danh sách để lấy mẫu và số lượng mục để lấy mẫu.use the random. sample() function. The function accepts two parameters: the list to sample from and the number of items to sample.

Làm thế nào để bạn chọn ngẫu nhiên nhiều yếu tố từ một danh sách trong Python?

Chọn các phần tử n ngẫu nhiên từ danh sách bằng cách sử dụng phương thức lựa chọn () được sử dụng để trả về một số ngẫu nhiên từ chuỗi đã cho.Trình tự có thể là một danh sách hoặc một tuple.using choice() The choice() method is used to return a random number from given sequence. The sequence can be a list or a tuple.