Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo danh sách số ngẫu nhiên trong Python (random module)

Module random cung cấp các hàm sinh số ngẫu nhiên. Bài này giới thiệu từ cơ bản đến tạo list.

1. Số thực ngẫu nhiên [0, 1): random.random()

import random
print(random.random())  # 0.2112200...

2. Số nguyên ngẫu nhiên trong khoảng: random.randint(a, b)

Bao gồm cả a và b.

print(random.randint(0, 22))  # 2

3. Tạo list ngẫu nhiên với for loop

random_list = []
for i in range(5):
    n = random.randint(1, 30)
    random_list.append(n)
print(random_list)  # [10, 5, 21, 1, 17]

4. random.sample() - Lấy mẫu không trùng lặp (Khuyến nghị)

# 5 số ngẫu nhiên KHÔNG TRÙNG từ 10-29
random_list = random.sample(range(10, 30), 5)
print(random_list)  # [16, 19, 13, 18, 15]

5. random.choices() - Lấy mẫu CÓ TRÙNG LẶP (Python 3.6+)

# 5 số ngẫu nhiên CÓ THỂ TRÙNG từ 1-10
random_list = random.choices(range(1, 11), k=5)
print(random_list)  # [3, 7, 3, 1, 9]

6. random.shuffle() - Xáo trộn list in-place

lst = list(range(10))
random.shuffle(lst)
print(lst)  # [7, 2, 9, 0, 4, 1, 6, 3, 8, 5]

7. random.seed() - Tái lập kết quả (Reproducibility)

random.seed(42)
print(random.random())  # Luôn 0.6394267984578837

random.seed(42)
print(random.random())  # Cùng giá trị

Tóm tắt chọn hàm nào?

Nhu cầuHàmTrùng lặp?
1 số float [0,1)random()-
1 số int [a,b]randint(a,b)-
List k phần tử KHÔNG trùngsample(population, k)Không
List k phần tử CÓ thể trùngchoices(population, k=k)Có
Xáo trộn list có sẵnshuffle(list)In-place