Mặc dù có nhiều câu trả lời cho thấy sử dụng 3 và 4 rất chậm trên dữ liệu lớn. và thời gian cần thiết trong danh sách các yếu tố 5 mất vào khoảng 6 khi Shuffle được bật. Khi shuffle bị vô hiệu hóa tốc độ là 7 Show
Phương pháp nhanh nhất sau khi kiểm tra tất cả các phương thức đã cho ở trên đã được viết bởi @JFS
Để hỗ trợ cho yêu cầu của tôi ở đây là biểu đồ độ phức tạp thời gian từ nguồn này Nếu không có bản sao trong danh sách,Bạn cũng có thể đạt được mục đích của mình bằng cách sử dụng các bộ. Một khi danh sách được thực hiện thành các bản sao được đặt sẽ bị xóa. 8 và 9 Chi phí The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]0, tức là rất hiệu quả. Đây là phương pháp sạch nhất mà tôi có thể đưa ra.
Không giống như The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]1 hỗ trợ tùy chọn The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]2, The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]3 cũng hỗ trợ The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]4 cùng với The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]5and The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]6. Siêu hữu ích khi bạn muốn thực hiện các hoạt động logic trên dữ liệu. KHÔNG BẮT BUỘCNếu bạn muốn tốc độ khi các hoạt động được thực hiện trên đầu và đuôi của danh sách, hãy sử dụng Python dequeue (hàng đợi kết thúc kép) để hỗ trợ cho yêu cầu của tôi ở đây là hình ảnh. Một hình ảnh là ngàn từ. Xem thảo luận Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc Bàn luận The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]8 and then is accessed and removed from the list using The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]9 Đôi khi, trong khi làm việc với danh sách Python, chúng ta có thể gặp vấn đề hoặc một phần của nó, trong đó chúng ta mong muốn chuyển đổi một danh sách sau khi xóa một số yếu tố ngẫu nhiên. Điều này có thể có ứng dụng của nó trong miền chơi game hoặc các dự án cá nhân. Hãy để thảo luận về cách nhất định trong đó nhiệm vụ này có thể được thực hiện. Phương pháp: Sử dụng The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]7in này, chúng tôi chỉ kết hợp chức năng của các chức năng trên thành một và đạt được nhiệm vụ này. Phần tử ngẫu nhiên được chọn bởi The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]8 và sau đó được truy cập và xóa khỏi danh sách bằng cách sử dụng The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10]9 import random0 import random1 # Raising an error when the list is empty import random items = [] random_item = random.choice(items) print(random_item) # Raises: IndexError: Cannot choose from an empty sequence1 # Raising an error when the list is empty import random items = [] random_item = random.choice(items) print(random_item) # Raises: IndexError: Cannot choose from an empty sequence2 # Raising an error when the list is empty import random items = [] random_item = random.choice(items) print(random_item) # Raises: IndexError: Cannot choose from an empty sequence3 import random2 import random3 import random4 import random5 import random6 import random7 import random6 import random9 import random6 # Choosing a random element from a Python list with random.choice() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_item = random.choice(items) print(random_item) # Returns: 51 import random6__
The original list : [6, 4, 8, 9, 10] List after removal of random number : [6, 4, 8, 10] Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để chọn một yếu tố ngẫu nhiên từ danh sách. Bạn sẽ học cách làm điều này bằng cách chọn một yếu tố ngẫu nhiên từ một danh sách với sự thay thế, mà không thay thế và cách sao chép kết quả của bạn. Bạn cũng sẽ học cách thay đổi trọng số của các lựa chọn được thực hiện.you’ll learn how to use Python to choose a random element from a list. You’ll learn how to do this by choosing a random element from a list with substitution, without substitution, and how to replicate you results. You’ll also learn how to change the weighting of choices made. Có thể làm việc với các yếu tố ngẫu nhiên là một kỹ năng quan trọng để học trong Python. Nó có nhiều ứng dụng rộng, chẳng hạn như trong khoa học dữ liệu và phát triển trò chơi. Ví dụ: nếu bạn đang xây dựng một trò chơi bài, bạn có thể muốn chọn một thẻ một cách ngẫu nhiên. Python đi kèm với một mô -đun hữu ích, import random1, mà chúng tôi sẽ khám phá trong hướng dẫn này trong việc giúp bạn làm việc với lựa chọn mục ngẫu nhiên. Đến cuối hướng dẫn này, bạn sẽ có một sự hiểu biết mạnh mẽ về cách sử dụng một số chức năng hữu ích từ mô -đun ngẫu nhiên, bao gồm # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]1, # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]2 và # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]3. Bạn đã học được cách sử dụng các chức năng này để sửa đổi lựa chọn các yếu tố ngẫu nhiên từ danh sách Python. Câu trả lời nhanh: Sử dụng
Mô -đun ngẫu nhiên Python là gì?Chọn một yếu tố ngẫu nhiên từ một danh sách trong Python import random Chọn các yếu tố ngẫu nhiên từ một danh sách trong Python mà không cần thay thế Chọn các yếu tố ngẫu nhiên từ một danh sách trong Python với sự thay thế Hãy để xem cách chúng ta có thể sử dụng phương thức để chọn một phần tử ngẫu nhiên từ danh sách Python: # Choosing a random element from a Python list with random.choice() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_item = random.choice(items) print(random_item) # Returns: 5 Chúng ta có thể thấy ở đây rằng hàm # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]2 chọn một mục ngẫu nhiên từ danh sách của chúng tôi. Hàm hy vọng chức năng sẽ không trống. Vì vậy, điều gì xảy ra khi chúng ta vượt qua trong một danh sách trống? Hàm sẽ tăng # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]8 và chương trình sẽ thất bại trừ khi lỗi được xử lý.what happens when we pass in an empty list? The function will raise an # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]8 and the program will fail unless the error is handled. Hãy để xem những gì nó trông như thế nào: # Raising an error when the list is empty import random items = [] random_item = random.choice(items) print(random_item) # Raises: IndexError: Cannot choose from an empty sequence Chúng ta có thể thấy ở đây rằng chức năng tăng # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]8. Trong phần tiếp theo, bạn sẽ học cách sử dụng Python để chọn một số yếu tố ngẫu nhiên mà không cần thay thế. Chọn các yếu tố ngẫu nhiên từ một danh sách trong Python mà không cần thay thếTrong phần này, bạn sẽ học cách sử dụng Python để chọn nhiều phần tử ngẫu nhiên từ danh sách mà không cần thay thế. Nó có nghĩa là gì để chọn mà không cần thay thế? Lấy mẫu mà không thay thế chỉ đề cập đến chỉ có thể chọn một yếu tố nhất định một lần.What does it mean to select without replacement? Sampling without replacement refers to only being able to pick a certain element a single time. Để sử dụng Python để chọn các phần tử ngẫu nhiên mà không cần thay thế, chúng ta có thể sử dụng hàm # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative0. Hàm chấp nhận hai tham số: danh sách để lấy mẫu và số lượng mục để lấy mẫu. Hãy để xem cách chúng ta có thể sử dụng phương thức # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative0 để chọn nhiều phần tử ngẫu nhiên từ danh sách: # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4] Chúng ta có thể thấy rằng bằng cách chuyển giá trị của 2 (đối với đối số từ khóa, # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative2) rằng hai mục được trả về. Điều gì xảy ra nếu chúng ta vượt qua giá trị cho # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative2 vượt quá số lượng mục trong danh sách của chúng ta? Python sẽ tăng # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative4. Hãy để xem những gì nó trông như thế nào: # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative Chúng tôi cũng có thể sử dụng chức năng # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative0 để ngẫu nhiên các mục trong danh sách của chúng tôi. Chúng ta có thể làm điều này bằng cách lấy mẫu tất cả các mục trong danh sách. # Using random.sample() to randomize our list import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, len(items)) print(random_items) # Returns: [6, 3, 8, 2, 4, 5, 9, 7, 1] Kiểm tra hướng dẫn của tôi về cách ngẫu nhiên các yếu tố danh sách Python để tìm hiểu thêm các cách để thực hiện điều này. Trong phần tiếp theo, bạn sẽ học cách sử dụng Python để chọn các yếu tố ngẫu nhiên từ danh sách có thay thế. Chọn các yếu tố ngẫu nhiên từ một danh sách trong Python với sự thay thếCũng có thể có những lúc bạn muốn chọn các mục ngẫu nhiên từ danh sách Python với sự thay thế. Điều này có nghĩa là một mặt hàng có thể được chọn nhiều hơn một lần. Điều này có nhiều ứng dụng hữu ích, bao gồm cả trong thống kê. Để chọn các mục một cách ngẫu nhiên với sự thay thế, chúng ta có thể sử dụng phương thức # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative6. Tương tự như hàm # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative0, chức năng chấp nhận danh sách và một số phần tử, # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative2. Vì chúng ta có thể chọn một mục nhiều hơn một lần, giá trị cho K thực sự có thể vượt quá số lượng mục trong danh sách. Hãy để xem cách chúng ta có thể chọn các mục có thay thế trong Python: # Choosing random elements from a Python list with random.choices() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.choices(items, k=4) print(random_items) # Returns: [9, 1, 5, 5] Chúng ta có thể thấy trong ví dụ trên, giá trị 5 đã được trả lại hai lần, mặc dù nó chỉ tồn tại một lần trong danh sách của chúng tôi. Hãy để xem những gì xảy ra khi số cho K vượt quá số lượng mục trong danh sách: 0Chúng ta có thể thấy rằng bằng cách đặt giá trị của K lớn hơn độ dài của danh sách, danh sách được trả về lớn hơn danh sách ban đầu của chúng tôi. Trong phần tiếp theo, bạn sẽ học cách chọn các yếu tố ngẫu nhiên với các trọng số đã cho trong danh sách trong Python. Chọn các yếu tố ngẫu nhiên có trọng số từ một danh sách trong Python với sự thay thếCó thể có những lúc bạn muốn một số mặt hàng nhất định mang trọng lượng hơn các mặt hàng khác. Điều này có nghĩa là khi chọn các mục ngẫu nhiên, bạn có thể muốn một số mặt hàng có khả năng được chọn cao hơn. Chúng tôi có thể thay đổi trọng số của các mục của chúng tôi bằng cách chuyển trong một mảng vào tham số # Attempting to sample more values than possible import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 11) print(random_items) # Raises: ValueError: Sample larger than population or is negative9. Trước khi đi sâu vào cách thức hoạt động của nó, chúng ta có thể tưởng tượng rằng theo mặc định, một mảng có trọng số bằng nhau được sử dụng. Bằng cách thay đổi trọng số tương đối, chúng tôi có thể chỉ định có nhiều khả năng chúng tôi muốn một mặt hàng được chọn. Hãy để xem cách chúng ta có thể sử dụng Python để cung cấp cho một mặt hàng khả năng được chọn cao gấp mười lần so với các mặt hàng khác trong danh sách: 1Tại đây, chúng tôi đã vượt qua trọng lượng của # Using random.sample() to randomize our list import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, len(items)) print(random_items) # Returns: [6, 3, 8, 2, 4, 5, 9, 7, 1]0. Các trọng số tương đối với nhau, có nghĩa là mục đầu tiên trong danh sách có cơ hội được chọn cao gấp mười lần so với các mặt hàng khác. Trong phần tiếp theo, bạn sẽ học cách tái tạo kết quả khi chọn các yếu tố ngẫu nhiên. Sử dụng hạt ngẫu nhiên để tái tạo kết quả khi chọn các yếu tố ngẫu nhiênMột yếu tố rất hữu ích trong việc phát triển kết quả ngẫu nhiên, là (trớ trêu thay) khả năng tái tạo kết quả. Điều này có thể giúp những người khác sao chép kết quả của bạn và cũng có thể giúp khắc phục sự cố công việc của bạn. Mô -đun ngẫu nhiên Python bao gồm khái niệm về một hạt giống, tạo ra một trình tạo số ngẫu nhiên. Điều này cho phép chúng tôi tái tạo kết quả. Hãy để xem cách chúng ta có thể sử dụng chức năng ngẫu nhiên # Using random.sample() to randomize our list import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, len(items)) print(random_items) # Returns: [6, 3, 8, 2, 4, 5, 9, 7, 1]1 để tái tạo kết quả của chúng tôi: 2Nếu chúng tôi chạy lại chương trình này, chúng tôi sẽ trả về cùng một giá trị mỗi lần. Sự kết luậnTrong hướng dẫn này, bạn đã học cách sử dụng Python để chọn ngẫu nhiên các mục từ danh sách Python. Bạn đã học cách sử dụng mô -đun import random1 và các hàm # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]2, # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]3 và # Choosing random elements from a Python list with random.sample() import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, 2) print(random_items) # Returns: [8, 4]1 để chọn một mục hoặc vật phẩm có và không có thay thế. Bạn cũng đã học được cách áp dụng trọng lượng vào lấy mẫu của bạn để cung cấp nhiều ưu tiên hơn cho một số mặt hàng hơn các mục khác. Cuối cùng, bạn đã học được cách sử dụng chức năng # Using random.sample() to randomize our list import random items = [1, 2, 3, 4, 5, 6, 7, 8, 9] random_items = random.sample(items, len(items)) print(random_items) # Returns: [6, 3, 8, 2, 4, 5, 9, 7, 1]1 để có thể tái tạo kết quả của chúng tôi. Để tìm hiểu thêm về mô -đun Python import random1, hãy xem tài liệu chính thức ở đây. Tài nguyên bổ sungĐể tìm hiểu thêm về các chủ đề tương tự, hãy xem các hướng dẫn dưới đây:
Làm thế nào để bạn lấy một mục ngẫu nhiên từ một danh sách trong Python?Sử dụng Random.RandRange () để chọn giá trị ngẫu nhiên từ danh sách.ngẫu nhiên.Phương thức randrange () được sử dụng để tạo một số ngẫu nhiên trong một phạm vi đã cho, chúng ta có thể chỉ định phạm vi là 0 đến độ dài của danh sách và nhận chỉ mục, sau đó là giá trị tương ứng. randrange() to select random value from a list. random. randrange() method is used to generate a random number in a given range, we can specify the range to be 0 to the length of the list, and get the index, and then the corresponding value.
Bạn có thể bật một yếu tố từ một danh sách trong Python không?Phương thức pop () loại bỏ mục tại chỉ mục đã cho khỏi danh sách và trả về mục đã xóa..
Làm thế nào để bạn chọn một yếu tố ngẫu nhiên từ một danh sách mà không cần lặp lại trong Python?Sử dụng phương thức lựa chọn () trong mô -đun ngẫu nhiên, phương thức lựa chọn () trả về một mục ngẫu nhiên duy nhất từ danh sách, tuple hoặc chuỗi. in random module, the choice() method returns a single random item from a list, tuple, or string. |