random.shuffle[]
xáo trộn một danh sách tại chỗ và random.sample[]
trả về một danh sách ngẫu nhiên mới. random.sample[]
cũng có thể được sử dụng cho một chuỗi và bộ dữ liệu
random.shuffle[]
xáo trộn một danh sách tại chỗrandom.sample[]
trả về một danh sách xáo trộn mới- Cách xáo trộn một chuỗi và tuple
- Khởi tạo trình tạo số ngẫu nhiên với
3l = list[range[5]] print[l] # [0, 1, 2, 3, 4] lr = random.sample[l, len[l]] print[lr] # [0, 3, 1, 4, 2] print[l] # [0, 1, 2, 3, 4]
Nếu bạn muốn sắp xếp theo thứ tự tăng dần hoặc giảm dần hoặc đảo ngược thay vì xáo trộn, hãy xem các bài viết sau
- Sắp xếp danh sách, chuỗi, bộ trong Python [sắp xếp, sắp xếp]
- Đảo ngược danh sách, chuỗi, tuple trong Python [đảo ngược, đảo ngược]
Liên kết được tài trợ
random.shuffle[]
xáo trộn một danh sách tại chỗ
Bạn có thể xáo trộn danh sách tại chỗ với random.shuffle[]
import random
l = list[range[5]]
print[l]
# [0, 1, 2, 3, 4]
random.shuffle[l]
print[l]
# [1, 0, 4, 3, 2]
nguồn.
random.sample[]
trả về một danh sách xáo trộn mới
random.sample[]
trả về một danh sách xáo trộn mới. Danh sách ban đầu không thay đổi
random.sample[]
trả về các phần tử ngẫu nhiên từ danh sách. Truyền danh sách cho đối số đầu tiên và số phần tử để trả về đối số thứ hai. Xem chi tiết bài viết sau
- lấy mẫu ngẫu nhiên từ một danh sách trong Python [ngẫu nhiên. lựa chọn, mẫu, lựa chọn]
Bằng cách đặt tổng số phần tử trong danh sách thành đối số thứ hai, random.sample[]
trả về một danh sách mới với tất cả các phần tử được xáo trộn ngẫu nhiên. Bạn có thể lấy tổng số phần tử trong danh sách bằng
s = 'abcde'
# random.shuffle[s]
# TypeError: 'str' object does not support item assignment
t = tuple[range[5]]
print[t]
# [0, 1, 2, 3, 4]
# random.shuffle[t]
# TypeError: 'tuple' object does not support item assignment
0l = list[range[5]]
print[l]
# [0, 1, 2, 3, 4]
lr = random.sample[l, len[l]]
print[lr]
# [0, 3, 1, 4, 2]
print[l]
# [0, 1, 2, 3, 4]
nguồn.
Liên kết được tài trợ
Cách xáo trộn một chuỗi và tuple
Chuỗi và bộ dữ liệu là bất biến, do đó, random.shuffle[]
sửa đổi đối tượng ban đầu sẽ gây ra lỗi
s = 'abcde'
# random.shuffle[s]
# TypeError: 'str' object does not support item assignment
t = tuple[range[5]]
print[t]
# [0, 1, 2, 3, 4]
# random.shuffle[t]
# TypeError: 'tuple' object does not support item assignment
2s = 'abcde'
# random.shuffle[s]
# TypeError: 'str' object does not support item assignment
t = tuple[range[5]]
print[t]
# [0, 1, 2, 3, 4]
# random.shuffle[t]
# TypeError: 'tuple' object does not support item assignment
nguồn.
Để xáo trộn các chuỗi hoặc bộ dữ liệu, hãy sử dụng random.sample[]
để tạo một đối tượng mới
random.sample[]
trả về một danh sách ngay cả khi một chuỗi hoặc bộ được chỉ định cho đối số đầu tiên, vì vậy cần phải chuyển đổi nó thành một chuỗi hoặc bộ
Đối với chuỗi, một danh sách các ký tự được trả về. Sử dụng phương thức
s = 'abcde'
# random.shuffle[s]
# TypeError: 'str' object does not support item assignment
t = tuple[range[5]]
print[t]
# [0, 1, 2, 3, 4]
# random.shuffle[t]
# TypeError: 'tuple' object does not support item assignment
5 để nối lại thành một chuỗi