Mã zip ngẫu nhiên Python

Trong bài học này, bạn sẽ học cách xáo trộn một danh sách trong Python bằng cách sử dụng hàm

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
6. Ngoài ra, hãy tìm hiểu cách xáo trộn chuỗi, từ điển hoặc bất kỳ chuỗi nào trong Python

Khi chúng tôi nói xáo trộn danh sách, điều đó có nghĩa là thay đổi thứ tự của các mục trong danh sách. Ví dụ, xáo trộn một danh sách các thẻ

Bạn sẽ tìm hiểu các chức năng sau của một mô-đun ngẫu nhiên để ngẫu nhiên hóa một danh sách trong Python

FunctionDescription_______07Xáo trộn danh sách tại chỗ [cách ưa thích]
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
8Xáo trộn danh sách không đúng chỗ để trả về một danh sách được xáo trộn mới. [cách không ưa thích] HOẶC
Để xáo trộn một chuỗi bất biến, chẳng hạn như chuỗi hoặc phạm vi.
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
9Xáo trộn các mảng đa chiều để xáo trộn một danh sách trong Python

Cũng thấy

  • Bài tập tạo dữ liệu ngẫu nhiên trong Python
  • Python tạo dữ liệu ngẫu nhiên Quiz

Mục lục

Hàm
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
6

cú pháp

random.shuffle[x, random]

Nó có nghĩa là xáo trộn một chuỗi

import random

numbers = [33, 66, 99, 188, 256, 412, 748]
# copy to new list
new_list = numbers.copy[]
# shuffle the new list
random.shuffle[new_list]

print["Original list : ", numbers]
#  [33, 66, 99, 188, 256, 412, 748]

print["List after shuffle", new_list]
# Output [188, 412, 33, 256, 66, 748, 99]
1 bằng cách sử dụng hàm
import random

numbers = [33, 66, 99, 188, 256, 412, 748]
# copy to new list
new_list = numbers.copy[]
# shuffle the new list
random.shuffle[new_list]

print["Original list : ", numbers]
#  [33, 66, 99, 188, 256, 412, 748]

print["List after shuffle", new_list]
# Output [188, 412, 33, 256, 66, 748, 99]
2

Thông số

Hàm

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
6 nhận hai tham số. Trong số hai,
import random

numbers = [33, 66, 99, 188, 256, 412, 748]
# copy to new list
new_list = numbers.copy[]
# shuffle the new list
random.shuffle[new_list]

print["Original list : ", numbers]
#  [33, 66, 99, 188, 256, 412, 748]

print["List after shuffle", new_list]
# Output [188, 412, 33, 256, 66, 748, 99]
2 là một tham số tùy chọn

  • import random
    
    numbers = [33, 66, 99, 188, 256, 412, 748]
    # copy to new list
    new_list = numbers.copy[]
    # shuffle the new list
    random.shuffle[new_list]
    
    print["Original list : ", numbers]
    #  [33, 66, 99, 188, 256, 412, 748]
    
    print["List after shuffle", new_list]
    # Output [188, 412, 33, 256, 66, 748, 99]
    
    1. Đó là một chuỗi bạn muốn xáo trộn chẳng hạn như danh sách
  • ____62. Đối số tùy chọn random là một hàm trả về một số float ngẫu nhiên trong khoảng từ 0. 1 đối 1. 0. Chức năng này quyết định cách xáo trộn một chuỗi. Nếu không được chỉ định, theo mặc định Python sử dụng hàm
    import random
    
    numbers = [33, 66, 99, 188, 256, 412, 748]
    # copy to new list
    new_list = numbers.copy[]
    # shuffle the new list
    random.shuffle[new_list]
    
    print["Original list : ", numbers]
    #  [33, 66, 99, 188, 256, 412, 748]
    
    print["List after shuffle", new_list]
    # Output [188, 412, 33, 256, 66, 748, 99]
    
    7.
    Lưu ý. tham số này không được dùng nữa kể từ phiên bản 3. 9, sẽ bị xóa trong phiên bản 3. 11

Giá trị trả về

Nó xáo trộn trình tự tại chỗ và không trả lại bất cứ thứ gì, tôi. e. , Nó trả về Không. Chức năng này thay đổi vị trí của các mục trong một chuỗi có thể thay đổi

Xáo trộn một danh sách

Sử dụng các bước dưới đây để xáo trộn danh sách trong Python

  1. Tạo một danh sách

    Tạo danh sách bằng hàm tạo

    import random
    
    numbers = [33, 66, 99, 188, 256, 412, 748]
    # copy to new list
    new_list = numbers.copy[]
    # shuffle the new list
    random.shuffle[new_list]
    
    print["Original list : ", numbers]
    #  [33, 66, 99, 188, 256, 412, 748]
    
    print["List after shuffle", new_list]
    # Output [188, 412, 33, 256, 66, 748, 99]
    
    8. Ví dụ,
    import random
    
    numbers = [33, 66, 99, 188, 256, 412, 748]
    # copy to new list
    new_list = numbers.copy[]
    # shuffle the new list
    random.shuffle[new_list]
    
    print["Original list : ", numbers]
    #  [33, 66, 99, 188, 256, 412, 748]
    
    print["List after shuffle", new_list]
    # Output [188, 412, 33, 256, 66, 748, 99]
    
    9

  2. Nhập mô-đun ngẫu nhiên

    Sử dụng một mô-đun ngẫu nhiên để thực hiện các thế hệ ngẫu nhiên trong danh sách

  3. Sử dụng chức năng shuffle[] của một mô-đun ngẫu nhiên

    Sử dụng hàm

    import random
    
    number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    # Original list
    print[number_list]
    # Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    
    # List after first shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]
    
    # List after second shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
    
    7 để xáo trộn một
    import random
    
    number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    # Original list
    print[number_list]
    # Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    
    # List after first shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]
    
    # List after second shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
    
    61 tại chỗ.
    import random
    
    number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    # Original list
    print[number_list]
    # Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    
    # List after first shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]
    
    # List after second shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
    
    62 xáo trộn danh sách ban đầu, tôi. e. , nó thay đổi ngẫu nhiên thứ tự của các mục trong danh sách ban đầu và không trả về danh sách mới

  4. Hiển thị danh sách đã xáo trộn

    Vì hàm

    import random
    
    number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    # Original list
    print[number_list]
    # Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    
    # List after first shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]
    
    # List after second shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
    
    62 không trả về bất cứ thứ gì. Sử dụng
    import random
    
    number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    # Original list
    print[number_list]
    # Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    
    # List after first shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]
    
    # List after second shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
    
    64 để hiển thị danh sách gốc/kết quả

  5. Nhận danh sách xáo trộn thay vì sửa đổi danh sách ban đầu

    Sử dụng ngẫu nhiên. sample[] để nhận lại danh sách xáo trộn mới thay vì thay đổi danh sách ban đầu. HOẶC

    Tạo một bản sao của danh sách gốc trước khi xáo trộn [Cách lý tưởng]

  6. Tùy chỉnh xáo trộn nếu cần

    Nếu bạn muốn thực hiện xáo trộn theo nhu cầu của mình, bạn có thể chuyển một hàm tùy chỉnh thay cho đối số

    import random
    
    numbers = [33, 66, 99, 188, 256, 412, 748]
    # copy to new list
    new_list = numbers.copy[]
    # shuffle the new list
    random.shuffle[new_list]
    
    print["Original list : ", numbers]
    #  [33, 66, 99, 188, 256, 412, 748]
    
    print["List after shuffle", new_list]
    # Output [188, 412, 33, 256, 66, 748, 99]
    
    2, hàm này sẽ ra lệnh cho hàm
    import random
    
    number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    # Original list
    print[number_list]
    # Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
    
    # List after first shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]
    
    # List after second shuffle
    random.shuffle[number_list]
    print[number_list]
    # Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
    
    62 về cách sắp xếp ngẫu nhiên các mục trong danh sách

Thí dụ. –

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]

Ghi chú. Như bạn có thể thấy ở đầu ra, vị trí của các mục trong danh sách được thay đổi

Xáo trộn ngẫu nhiên Không đúng chỗ

Như bạn đã biết,

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
62 hoạt động tại chỗ và trả về Không, tôi. e. , nó thay đổi thứ tự các mục trong danh sách ban đầu một cách ngẫu nhiên. Nhưng hầu hết thời gian, chúng ta cần danh sách hoặc trình tự ban đầu

Chúng tôi có thể giữ nguyên danh sách ban đầu bằng hai cách sau. Các tùy chọn này không sửa đổi danh sách ban đầu mà trả về một danh sách được xáo trộn mới

lựa chọn 1. Tạo một bản sao của danh sách gốc

Tạo một bản sao của danh sách gốc trước khi xáo trộn [Lý tưởng và được ưu tiên]

import random

numbers = [33, 66, 99, 188, 256, 412, 748]
# copy to new list
new_list = numbers.copy[]
# shuffle the new list
random.shuffle[new_list]

print["Original list : ", numbers]
#  [33, 66, 99, 188, 256, 412, 748]

print["List after shuffle", new_list]
# Output [188, 412, 33, 256, 66, 748, 99]

Lựa chọn 2. Xáo trộn danh sách không ở đúng vị trí bằng cách sử dụng
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
68

Sử dụng hàm

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
68 để xáo trộn danh sách không đúng chỗ để lấy lại danh sách đã xáo trộn mới thay vì thay đổi danh sách ban đầu

sự ngẫu nhiên. hàm sample[] trả về danh sách ngẫu nhiên với kích thước mẫu mà bạn đã chuyển cho nó. Ví dụ:

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
70 sẽ trả về danh sách 3 mục ngẫu nhiên từ danh sách

Nếu chúng tôi chuyển kích thước mẫu giống với kích thước của danh sách ban đầu, nó sẽ trả về cho chúng tôi danh sách được xáo trộn mới

Hãy xem ví dụ. Trong ví dụ này, tôi đang xáo trộn danh sách các đối tượng Nhân viên

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
6

Chiến tranh . Theo , đối với

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
71 nhỏ, tổng số hoán vị của
import random

numbers = [33, 66, 99, 188, 256, 412, 748]
# copy to new list
new_list = numbers.copy[]
# shuffle the new list
random.shuffle[new_list]

print["Original list : ", numbers]
#  [33, 66, 99, 188, 256, 412, 748]

print["List after shuffle", new_list]
# Output [188, 412, 33, 256, 66, 748, 99]
1 có thể nhanh chóng tăng lên nhiều hơn khoảng thời gian của hầu hết các trình tạo số ngẫu nhiên. Điều này ngụ ý rằng hầu hết các hoán vị của một chuỗi dài không bao giờ có thể được tạo ra. Ví dụ: chuỗi có độ dài 2080 là chuỗi lớn nhất có thể nằm trong khoảng thời gian tạo số ngẫu nhiên Mersenne Twister. Vì vậy, tôi khuyên bạn nên sử dụng phương pháp sử dụng đầu tiên.

Xáo trộn hai danh sách cùng một lúc với cùng một thứ tự

Giả sử nếu bạn muốn Xáo trộn hai danh sách và giữ nguyên thứ tự xáo trộn. Ví dụ: Một danh sách chứa tên nhân viên và danh sách kia bao gồm lương. Hãy xem cách sắp xếp ngẫu nhiên nhiều danh sách bằng cách duy trì thứ tự của chúng

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
7

Xáo trộn mảng đa chiều NumPy

Mô-đun NumPy có gói

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
73 để tạo dữ liệu ngẫu nhiên. Trong ví dụ này, tôi đang sử dụng mô-đun Numpy của Python để tạo mảng 2d. Ngoài ra, sử dụng hàm
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
74, chúng ta có thể xáo trộn mảng nhiều chiều

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
4

đầu ra

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
5

Xáo trộn một danh sách để có được cùng một kết quả mỗi lần

Hãy cùng tìm hiểu cách khởi tạo trình tạo ngẫu nhiên theo cách xáo trộn tạo ra cùng một kết quả mỗi lần. Sử dụng đồng thời

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
75 và
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
62, chúng tôi có thể tạo cùng một danh sách được xáo trộn mỗi lần

Bạn có biết PRNG hoạt động như thế nào trong Python không?

Mô-đun ngẫu nhiên của Python không thực sự ngẫu nhiên. Nó là giả ngẫu nhiên [PRNG], tôi. e. , xác định. Mô-đun ngẫu nhiên sử dụng giá trị hạt giống làm cơ sở để tạo số ngẫu nhiên. Theo mặc định, thời gian hệ thống hiện tại được sử dụng làm giá trị gốc. Nếu chúng ta thay đổi giá trị hạt giống, chúng ta có thể thay đổi đầu ra

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
8

đầu ra

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
9

Ghi chú. Chúng tôi nhận được cùng một danh sách vì chúng tôi sử dụng cùng một giá trị hạt giống trước khi gọi hàm xáo trộn. Đây chỉ là một ví dụ đơn giản. Để làm cho nó hoạt động với bất kỳ danh sách nào, chúng tôi cần tìm số gốc gốc chính xác cho danh sách đó, điều này sẽ tạo ra đầu ra mà chúng tôi mong muốn

Xáo trộn một chuỗi

Trong phần này, chúng ta sẽ xem cách trộn Chuỗi trong Python. Nhưng nó không đơn giản như xáo trộn một danh sách. Bạn sẽ gặp lỗi nếu cố xáo trộn một chuỗi bằng phương pháp

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
62

Bởi vì một chuỗi là một loại bất biến và Bạn không thể sửa đổi các đối tượng bất biến trong Python.

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
6 không hoạt động với Chuỗi. Tôi. e. , Nó không thể chấp nhận đối số chuỗi. Hãy hiểu điều này với sự trợ giúp của ví dụ sau

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
2

Chúng tôi có một giải pháp cho điều này. Chúng ta có thể xáo trộn một chuỗi bằng nhiều cách tiếp cận khác nhau. Hãy xem từng người một

Xáo trộn một chuỗi bằng cách chuyển đổi nó thành một danh sách

Chuyển đổi Chuỗi thành danh sách và Xáo trộn danh sách một cách ngẫu nhiên, một lần nữa chuyển đổi danh sách đã xáo trộn thành Chuỗi

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
0

Cách tiếp cận hai. Xáo trộn một chuỗi, không đúng chỗ

Sử dụng phương pháp này, chúng ta có thể giữ nguyên chuỗi ban đầu và nhận lại chuỗi xáo trộn mới. Ngoài ra, chúng ta không cần chuyển đổi chuỗi thành danh sách để lấy chuỗi đã xáo trộn

Hàm sample[] trả về một mẫu từ một chuỗi theo kích thước mẫu mà bạn đã chuyển cho nó. Ví dụ:

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
79 sẽ trả về danh sách 3 ký tự ngẫu nhiên từ danh sách

Nếu chúng tôi chuyển kích thước mẫu giống với kích thước chuỗi, nó sẽ trả về cho chúng tôi chuỗi ký tự được xáo trộn mới

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
1

Xáo trộn dãy số nguyên

Một hàm range[] trả về một dãy số

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
40 không trả về danh sách, vì vậy khi bạn cố chạy
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
41, bạn sẽ gặp lỗi. Để xáo trộn các số trong
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
42, trước tiên hãy chuyển đổi phạm vi thành
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
43

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
2

Xáo trộn từ điển trong Python

Xáo trộn một từ điển là không thể trong Python. Tuy nhiên, chúng ta có thể sắp xếp lại thứ tự các khóa của một từ điển

  • Tìm nạp tất cả các khóa từ từ điển dưới dạng danh sách
  • Xáo trộn danh sách đó và truy cập các giá trị từ điển bằng các phím được xáo trộn
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
3

đầu ra

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
4

Xáo trộn trình tạo Python

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
6 cần biết kích thước của chuỗi để xáo trộn chuỗi một cách thống nhất. Nếu bạn cố xáo trộn một đối tượng trình tạo bằng cách sử dụng nó, bạn sẽ nhận được một
import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
45

Vì trình tạo không thể cung cấp cho chúng tôi kích thước nên chúng tôi cần chuyển đổi nó thành một danh sách để xáo trộn nó

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
5

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

import random

number_list = [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
# Original list
print[number_list]
# Output [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

# List after first shuffle
random.shuffle[number_list]
print[number_list]
# Output [42, 28, 14, 21, 7, 35, 49, 63, 56, 70]

# List after second shuffle
random.shuffle[number_list]
print[number_list]
# Output [14, 21, 70, 28, 49, 35, 56, 7, 42, 63]
6? . Dù bằng cách nào, hãy cho tôi biết bằng cách để lại nhận xét bên dưới

Ngoài ra, hãy thử giải bài tập và câu đố sau để hiểu rõ hơn về cách làm việc với dữ liệu ngẫu nhiên trong Python

Chủ Đề