Làm thế nào để bạn xáo trộn một từ điển trong python?

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
    l = 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]
    
    3

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
0

l = 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
2

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

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

Chủ Đề