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 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 Show
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) 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. 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
Mục lụcHà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] 6cú pháp
Nó có nghĩa là xáo trộn một chuỗi 1 bằng cách sử dụng hàm 2Thông số Hàm 6 nhận hai tham số. Trong số hai, 2 là một tham số tùy chọn
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áchSử dụng các bước dưới đây để xáo trộn danh sách trong Python
Thí dụ. –
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, 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ốcTạ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)
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] 68Sử dụng hàm 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ụ: 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 6Chiến tranh . Theo , đối với 71 nhỏ, tổng số hoán vị của 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 7Xáo trộn mảng đa chiều NumPyMô-đun NumPy có gói 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 74, chúng ta có thể xáo trộn mảng nhiều chiều 4đầu ra 5Xáo trộn một danh sách để có được cùng một kết quả mỗi lầnHã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 75 và 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 8đầu ra 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ỗiTrong 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 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. 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 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áchChuyể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 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ụ: 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 1Xáo trộn dãy số nguyênMột hàm range() trả về một dãy số 40 không trả về danh sách, vì vậy khi bạn cố chạy 41, bạn sẽ gặp lỗi. Để xáo trộn các số trong 42, trước tiên hãy chuyển đổi phạm vi thành 43 2Xáo trộn từ điển trong PythonXá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
3đầu ra 4Xáo trộn trình tạo Python 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 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ó 5Bước tiếp theoTôi muốn nghe từ bạn. Bạn nghĩ gì về bài viết này trên 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 |