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 PythonKhi 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 PythonCũ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
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]
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]
2Thô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
1. Đó là một chuỗi bạn muốn xáo trộn chẳng hạn như danh sáchimport 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]
- ____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
7.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ư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
- Tạo một danh sách
Tạo danh sách bằng hàm tạo
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]
9import 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]
- 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
- Sử dụng chức năng shuffle[] của một mô-đun ngẫu nhiên
Sử dụng hàm
7 để xáo trộn mộtimport 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ớiimport 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]
- Hiển thị danh sách đã xáo trộn
Vì hàm
62 không trả về bất cứ thứ gì. Sử dụngimport 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ả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]
- 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] - 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ố
2, hàm này sẽ ra lệnh cho hàmimport 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]
62 về cách sắp xếp ngẫu nhiên các mục trong danh sáchimport 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]
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 đầuChú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
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]
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 đầusự 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áchNế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]
6Chiế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]
7Xá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ềuimport 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]
5Xá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ầnBạ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]
9Ghi 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]
62Bở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ụ sauimport 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]
2Chú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]
0Cá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áchNế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]
1Xá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]
43import 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]
2Xá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]
4Xá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]
45Vì 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]
5Bướ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ướiNgoà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