Đối số đầu tiên mà phương thức nhận là một chuỗi và đối số thứ hai là số phần tử ngẫu nhiên được trả về
Phương thức
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]2 trả về danh sách các phần tử có kích thước N được chọn từ chuỗi mà không cần thay thế
Không thay thế có nghĩa là cùng một phần tử không thể được trả lại nhiều lần
Phương pháp
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]2 tăng
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]46 nếu mẫu lớn hơn chuỗi
Nếu bạn cần xử lý tình huống này, hãy sử dụng khối
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]47
Việc cố gắng truy xuất nhiều phần tử hơn số phần tử có trong
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]4 đã gây ra lỗi
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]46, sau đó khối này được xử lý bởi khối
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]20
Ngoài ra, bạn có thể sử dụng phương pháp
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]21
Tạo N số ngẫu nhiên duy nhất trong một phạm vi bằng cách sử dụng ngẫu nhiên. xáo trộn[] #
Để tạo N số ngẫu nhiên duy nhất trong một phạm vi
- Sử dụng lớp
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
0 để lấy đối tượng# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
4 - Sử dụng lớp
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
24 để chuyển đổi đối tượng# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
4 thành danh sách - Sử dụng phương pháp
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
21 để xáo trộn danh sách - Sử dụng danh sách cắt để lấy N số ngẫu nhiên duy nhất từ danh sách
sự ngẫu nhiên. phương thức xáo trộn lấy một chuỗi và xáo trộn nó tại chỗ
Bước cuối cùng là sử dụng cắt danh sách để chọn N phần tử ngẫu nhiên duy nhất từ danh sách
Cú pháp để cắt danh sách là
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]27
Chỉ mục
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]6 là bao gồm và chỉ mục
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]7 là độc quyền [tối đa, nhưng không bao gồm]
Nếu bỏ chỉ mục
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]6 thì được coi là
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]9, nếu bỏ chỉ mục
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]7 thì lát về cuối danh sách
Các chỉ mục Python dựa trên số không, vì vậy mục đầu tiên trong danh sách có chỉ mục là
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]9 và mục cuối cùng có chỉ mục là
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]24 hoặc
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]25
Bạn có muốn khởi tạo một danh sách với một số số ngẫu nhiên không?
Vấn đề. Cho một số nguyên
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]0. Tạo danh sách các phần tử
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]0 trong một khoảng thời gian nhất định [ví dụ khoảng thời gian. [0, 20]]
# n = 5 --> [2, 3, 1, 4, 3] # n = 3 --> [10, 12, 1] # n = 10 --> [8, 2, 18, 10, 4, 19, 5, 9, 8, 1]
Dung dịch. Dưới đây là tổng quan nhanh về cách bạn có thể tạo danh sách các số ngẫu nhiên
- Phương pháp 1.
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
2 để tạo danh sách số float ngẫu nhiên - Phương pháp 2.
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
3 để tạo danh sách int ngẫu nhiên - Phương pháp 3.
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
4 để tạo danh sách int ngẫu nhiên - Phương pháp 4.
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
5 để tạo danh sách int ngẫu nhiên
Bạn có thể tự mình thử những mã đó trong trình bao mã tương tác của chúng tôi
Exercise: Change the interval of each method to [0, ] and run the code.
Phương pháp 1. Danh sách hiểu danh sách nổi ngẫu nhiên [0, 1]
Hiểu danh sách là một cách nhỏ gọn để tạo danh sách. Công thức đơn giản là
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]6
- Biểu hiện. Phải làm gì với từng phần tử danh sách?
- Định nghĩa bài văn. Những yếu tố để lựa chọn?
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]
Trong vỏ Python của tôi, kết quả như sau
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]1
Trong mã, trước tiên bạn nhập mô-đun ngẫu nhiên
Sau đó, bạn tạo một danh sách các số float ngẫu nhiên bằng cách gọi liên tục
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]9 để tạo ra một số float ngẫu nhiên trong khoảng từ 0 đến 1 mỗi khi nó được gọi
Bạn gọi nó mười lần như được định nghĩa trong phần ngữ cảnh
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]10. Lưu ý rằng dấu gạch dưới đóng vai trò là biến "bỏ đi" vì bạn không thực sự cần nó để tạo danh sách
Cũng lưu ý rằng câu lệnh hiểu danh sách đánh giá biểu thức nhiều lần—chứ không chỉ một lần ngay từ đầu. Đó là lý do tại sao tất cả các số trong danh sách đều khác nhau
Bạn có thể dễ dàng mở rộng việc tạo số float trong khoảng thời gian lớn hơn bằng cách nhân số float được tạo ngẫu nhiên với một hằng số.
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]11 sẽ tạo một danh sách các số float ngẫu nhiên trong khoảng thời gian
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]12
Nếu bạn gặp khó khăn với việc hiểu danh sách, hãy xem video giải thích của tôi
Giới thiệu đơn giản về hiểu danh sách trong Python
Xem video này trên YouTube
Sử dụng khả năng hiểu danh sách để tạo danh sách các số ngẫu nhiên có thể đọc được, ngắn gọn và hiệu quả. Nếu không phải là phương pháp thứ tư, tôi coi đây là cách Pythonic nhất để tạo danh sách các số float ngẫu nhiên
Phương pháp 2. Danh sách hiểu danh sách số nguyên ngẫu nhiên [0, 999]
Để cho đầy đủ, đây là câu lệnh hiểu danh sách tạo danh sách các số nguyên ngẫu nhiên trong khoảng [0, 999]
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]6
Trong vỏ Python của tôi, kết quả như sau
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]7
Bạn sử dụng hàm
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]13 để tạo một giá trị số nguyên ngẫu nhiên giữa giá trị đầu 0 và giá trị cuối 999, vì vậy tất cả các số nguyên được tạo nằm trong khoảng [0, 999]
Đây là một cách rất Pythonic và dễ đọc để tạo danh sách các số nguyên ngẫu nhiên. Bạn có thể ngừng đọc ngay lập tức và sử dụng nó trong mã của riêng bạn
Phương pháp 3. Đối với danh sách số nguyên ngẫu nhiên của vòng lặp [0, 99]
Một giải pháp thay thế thường được các lập trình viên không phải Python sử dụng là sử dụng vòng lặp for đơn giản thực hiện tương tự như việc hiểu danh sách [nhưng yêu cầu nhiều dung lượng hơn]
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]9
Trong vỏ Python của tôi, kết quả như sau
# n = 5 --> [2, 3, 1, 4, 3] # n = 3 --> [10, 12, 1] # n = 10 --> [8, 2, 18, 10, 4, 19, 5, 9, 8, 1]0
Một lần nữa, bạn sử dụng biến gạch dưới bỏ đi vì số ngẫu nhiên không phải là hàm của biến vòng lặp. Mỗi hai cuộc gọi đến chức năng
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]14 là độc lập
Tôi coi đây là cách ít Pythonic nhất để giải quyết vấn đề này
Phương pháp 4. ngẫu nhiên. vật mẫu[]
Cuối cùng, chúng tôi đi đến cách Pythonic nhất để giải quyết vấn đề này. đứng trên vai những người khổng lồ và sử dụng chức năng tích hợp hiện có. Phương pháp
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]15 lấy một “vũ trụ” mà từ đó các số ngẫu nhiên được rút ra và một danh sách có kích thước
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]0—và rút ra các số ngẫu nhiên
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]0 từ vũ trụ của bạn
# n = 5 --> [2, 3, 1, 4, 3] # n = 3 --> [10, 12, 1] # n = 10 --> [8, 2, 18, 10, 4, 19, 5, 9, 8, 1]5
Trong vỏ Python của tôi, kết quả như sau
# n = 5 --> [2, 3, 1, 4, 3] # n = 3 --> [10, 12, 1] # n = 10 --> [8, 2, 18, 10, 4, 19, 5, 9, 8, 1]6
Bạn sử dụng vũ trụ
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]18 trong số 20 số nguyên đầu tiên 0, …, 19 và rút ra 10 phần tử ngẫu nhiên từ vũ trụ. Lưu ý rằng theo mặc định, không cho phép trùng lặp. Nếu vũ trụ nhỏ hơn kích thước danh sách n, sẽ xảy ra lỗi
# n = 5 --> [2, 3, 1, 4, 3] # n = 3 --> [10, 12, 1] # n = 10 --> [8, 2, 18, 10, 4, 19, 5, 9, 8, 1]8
Thảo luận
Trong hướng dẫn này, bạn đã học được bốn phương pháp để giải quyết vấn đề tạo danh sách các số ngẫu nhiên. Một cách khách quan, cách Pythonic nhất để thực hiện điều này là phương pháp thứ tư. sử dụng chức năng
# Method 1: List Comprehension Random Float List [0, 1] import random randlist = [random.random[] for _ in range[10]]15 khi nó được triển khai để thực hiện chính xác điều này
Nhưng theo chủ quan, tôi sẽ sử dụng phương pháp thứ nhất hoặc thứ hai dựa trên khả năng hiểu danh sách để tạo danh sách các số nguyên hoặc số thực ngẫu nhiên
Tại sao? . Trên thực tế, tôi không muốn lãng phí quá nhiều năng lượng để cố nhớ các chức năng mã không cải thiện khả năng đọc cũng như hiệu quả của mã của tôi
Đi đâu từ đây?
Đủ lý thuyết. Hãy thực hành một số
Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa
Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?
Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế
Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?
🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn
Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn
Tham gia hội thảo trên web miễn phí ngay bây giờ
Chris
Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính
Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới
Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây