Hướng dẫn get n random elements from list python - lấy n phần tử ngẫu nhiên từ python danh sách

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Trong bài viết này, chúng tôi sẽ thảo luận về cách chọn ngẫu nhiên N các yếu tố từ danh sách trong Python. Trước khi chuyển sang các phương pháp tiếp cận, hãy thảo luận về mô -đun ngẫu nhiên mà chúng ta sẽ sử dụng trong các phương pháp của mình. & NBSP;

    Một mô -đun ngẫu nhiên trả về các giá trị ngẫu nhiên. Nó rất hữu ích khi chúng ta muốn tạo các giá trị ngẫu nhiên. Một số phương pháp của mô-đun ngẫu nhiên là:- Seed (), getState (), lựa chọn (), sample (), v.v.

    Python3

    Chọn ngẫu nhiên n phần tử từ danh sách bằng randrange ()

    Ở đây, chúng tôi đang sử dụng hàm randrange () ngẫu nhiên để trả về một số ngẫu nhiên từ danh sách.

    ['d', 'd', 'f', 'a']
    3
    ['d', 'd', 'f', 'a']
    4

    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    
    1
    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    
    2

    Output:

    3

    Is

    8 2 4 6 
    6
    ['d', 'd', 'f', 'a']
    6
    8 2 4 6 
    8
    8 2 4 6 
    9
    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    
    0

    python3

    Chọn ngẫu nhiên n phần tử từ danh sách bằng randrange ()

    Ở đây, chúng tôi đang sử dụng hàm randrange () ngẫu nhiên để trả về một số ngẫu nhiên từ danh sách.

    ['d', 'd', 'f', 'a']
    3
    ['d', 'd', 'f', 'a']
    4

    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    
    1
    random = ['9', '2', '3']
    
    4
    ['d', 'd', 'f', 'a']
    5
    random = ['9', '2', '3']
    
    6

    Output:

    [8, 6, 6, 4]

    Is

    8 2 4 6 
    6
    ['d', 'd', 'f', 'a']
    6
    8 2 4 6 
    8
    8 2 4 6 
    9
    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    
    0

    Python3

    Chọn ngẫu nhiên n phần tử từ danh sách bằng randrange ()

    Ở đây, chúng tôi đang sử dụng hàm randrange () ngẫu nhiên để trả về một số ngẫu nhiên từ danh sách.

    ['d', 'd', 'f', 'a']
    3
    ['d', 'd', 'f', 'a']
    4

    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    
    1
    print(random.choice(('xxx', 'yyy', 'zzz')))
    # yyy
    
    print(random.choice('abcde'))
    # b
    
    8
    ['d', 'd', 'f', 'a']
    5
    # print(random.choice([]))
    # IndexError: Cannot choose from an empty sequence
    
    0
    ['d', 'd', 'f', 'a']
    6
    # print(random.choice([]))
    # IndexError: Cannot choose from an empty sequence
    
    2

    Output: 

    ['d', 'd', 'f', 'a']

    Is

    8 2 4 6 
    6
    ['d', 'd', 'f', 'a']
    6
    8 2 4 6 
    8
    8 2 4 6 
    9
    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    
    0

    python3

    Chọn ngẫu nhiên n phần tử từ danh sách bằng randrange ()

    Ở đây, chúng tôi đang sử dụng hàm randrange () ngẫu nhiên để trả về một số ngẫu nhiên từ danh sách.

    ['d', 'd', 'f', 'a']
    3
    ['d', 'd', 'f', 'a']
    4

    Is

    8 2 4 6 
    6
    ['d', 'd', 'f', 'a']
    6
    8 2 4 6 
    8
    8 2 4 6 
    9
    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    
    0

    Chọn nhiều hơn một phần tử ngẫu nhiên từ danh sách bằng mẫu ()

    8 2 4 6 

    Phương thức mẫu () được sử dụng để trả về danh sách các mục yêu cầu từ một chuỗi nhất định. Phương pháp này không cho phép các phần tử trùng lặp theo trình tự. & NBSP;


    Tôi có một chức năng đọc một danh sách các mục từ một tệp. Làm thế nào tôi có thể chọn chỉ 50 mục từ danh sách một cách ngẫu nhiên để ghi vào một tệp khác?

    def randomizer(input, output='random.txt'):
        query = open(input).read().split()
        out_file = open(output, 'w')
        
        random.shuffle(query)
        
        for item in query:
            out_file.write(item + '\n')   
    

    Ví dụ: nếu tổng tệp ngẫu nhiên là

    random_total = ['9', '2', '3', '1', '5', '6', '8', '7', '0', '4']
    

    và tôi muốn một bộ ngẫu nhiên là 3, kết quả có thể là

    random = ['9', '2', '3']
    

    Làm thế nào tôi có thể chọn 50 từ danh sách mà tôi ngẫu nhiên?

    Thậm chí tốt hơn, làm thế nào tôi có thể chọn 50 một cách ngẫu nhiên từ danh sách ban đầu?

    Trong Python, bạn có thể lấy mẫu ngẫu nhiên các phần tử từ danh sách với

    [8, 6, 6, 4]
    26,
    [8, 6, 6, 4]
    27 và
    [8, 6, 6, 4]
    28 của mô -đun
    ['d', 'd', 'f', 'a']
    4. Các chức năng này cũng có thể được áp dụng cho một chuỗi và tuple.

    [8, 6, 6, 4]
    26 Trả về một phần tử ngẫu nhiên và
    [8, 6, 6, 4]
    27 và
    [8, 6, 6, 4]
    28 Trả về một danh sách nhiều phần tử ngẫu nhiên.
    [8, 6, 6, 4]
    27 được sử dụng để lấy mẫu ngẫu nhiên mà không thay thế và
    [8, 6, 6, 4]
    28 được sử dụng để lấy mẫu ngẫu nhiên với thay thế.

    • ngẫu nhiên-Tạo số giả ngẫu nhiên-Python 3.8.1 Tài liệu

    Bài viết này mô tả các nội dung sau đây.

    • Chọn một yếu tố ngẫu nhiên:
      [8, 6, 6, 4]
      35
    • Mẫu ngẫu nhiên không thay thế:
      [8, 6, 6, 4]
      36
    • Mẫu ngẫu nhiên với sự thay thế:
      [8, 6, 6, 4]
      37
    • Khởi tạo trình tạo số ngẫu nhiên:
      [8, 6, 6, 4]
      38

    Nếu bạn muốn chọn các yếu tố từ một danh sách theo các điều kiện, hãy xem bài viết sau.

    • Trích xuất, thay thế, chuyển đổi các yếu tố của một danh sách trong Python

    Nếu bạn muốn xáo trộn toàn bộ danh sách hoặc nhận danh sách các số ngẫu nhiên, hãy xem bài viết sau.

    • Shuffle một danh sách, chuỗi, tuple trong python (ngẫu nhiên.shuffle, mẫu)
    • Tạo Int/Float ngẫu nhiên trong Python (ngẫu nhiên, Randrange, Randint, v.v.)

    Chọn một yếu tố ngẫu nhiên: [8, 6, 6, 4]35

    Mẫu ngẫu nhiên không thay thế:

    [8, 6, 6, 4]
    36

    • Mẫu ngẫu nhiên với sự thay thế:
      [8, 6, 6, 4]
      37

    import random
    
    l = [0, 1, 2, 3, 4]
    
    print(random.choice(l))
    # 1
    

    Khởi tạo trình tạo số ngẫu nhiên:

    [8, 6, 6, 4]
    38

    print(random.choice(('xxx', 'yyy', 'zzz')))
    # yyy
    
    print(random.choice('abcde'))
    # b
    

    Nếu bạn muốn chọn các yếu tố từ một danh sách theo các điều kiện, hãy xem bài viết sau.

    # print(random.choice([]))
    # IndexError: Cannot choose from an empty sequence
    

    Mẫu ngẫu nhiên không thay thế: [8, 6, 6, 4]36

    Mẫu ngẫu nhiên với sự thay thế:

    [8, 6, 6, 4]
    37

    Khởi tạo trình tạo số ngẫu nhiên:

    [8, 6, 6, 4]
    38

    • Nếu bạn muốn chọn các yếu tố từ một danh sách theo các điều kiện, hãy xem bài viết sau.

    [8, 6, 6, 4]
    0

    Trích xuất, thay thế, chuyển đổi các yếu tố của một danh sách trong Python

    [8, 6, 6, 4]
    1

    Nếu bạn muốn xáo trộn toàn bộ danh sách hoặc nhận danh sách các số ngẫu nhiên, hãy xem bài viết sau.

    [8, 6, 6, 4]
    2

    Shuffle một danh sách, chuỗi, tuple trong python (ngẫu nhiên.shuffle, mẫu)

    • Tạo Int/Float ngẫu nhiên trong Python (ngẫu nhiên, Randrange, Randint, v.v.)
    • [8, 6, 6, 4]
      35 Trả về một phần tử ngẫu nhiên từ một danh sách.

    [8, 6, 6, 4]
    3

    Random.Choice ()-Tạo số giả ngẫu nhiên-Python 3.8.1 Tài liệu

    [8, 6, 6, 4]
    4

    Bộ dữ liệu và chuỗi được xử lý tương tự. Trong trường hợp của một chuỗi, một ký tự được trả về.

    • Một lỗi được nêu ra nếu một danh sách, tuple hoặc chuỗi trống.

    [8, 6, 6, 4]
    5

    Mẫu ngẫu nhiên với sự thay thế: [8, 6, 6, 4]37

    Khởi tạo trình tạo số ngẫu nhiên:

    [8, 6, 6, 4]
    38

    Nếu bạn muốn chọn các yếu tố từ một danh sách theo các điều kiện, hãy xem bài viết sau.

    • Trích xuất, thay thế, chuyển đổi các yếu tố của một danh sách trong Python

    Nếu bạn muốn xáo trộn toàn bộ danh sách hoặc nhận danh sách các số ngẫu nhiên, hãy xem bài viết sau.

    Shuffle một danh sách, chuỗi, tuple trong python (ngẫu nhiên.shuffle, mẫu)

    [8, 6, 6, 4]
    6

    Tạo Int/Float ngẫu nhiên trong Python (ngẫu nhiên, Randrange, Randint, v.v.)

    [8, 6, 6, 4]
    7

    [8, 6, 6, 4]
    35 Trả về một phần tử ngẫu nhiên từ một danh sách.

    [8, 6, 6, 4]
    8

    Random.Choice ()-Tạo số giả ngẫu nhiên-Python 3.8.1 Tài liệu

    [8, 6, 6, 4]
    9

    Bộ dữ liệu và chuỗi được xử lý tương tự. Trong trường hợp của một chuỗi, một ký tự được trả về.

    Một lỗi được nêu ra nếu một danh sách, tuple hoặc chuỗi trống.

    ['d', 'd', 'f', 'a']
    0

    [8, 6, 6, 4]
    36 lấy mẫu ngẫu nhiên nhiều yếu tố từ một danh sách mà không cần thay thế.

    ['d', 'd', 'f', 'a']
    1

    Chuyển danh sách cho đối số đầu tiên và số lượng các yếu tố bạn muốn đi đến đối số thứ hai. Một danh sách được trả lại.

    Khởi tạo trình tạo số ngẫu nhiên: [8, 6, 6, 4]38

    Nếu bạn muốn chọn các yếu tố từ một danh sách theo các điều kiện, hãy xem bài viết sau.

    Trích xuất, thay thế, chuyển đổi các yếu tố của một danh sách trong Python

    ['d', 'd', 'f', 'a']
    2

    Làm thế nào để bạn có được n các yếu tố ngẫu nhiên từ một danh sách trong Python?

    Chọn các phần tử n ngẫu nhiên từ danh sách bằng cách sử dụng phương thức lựa chọn () được sử dụng để trả về một số ngẫu nhiên từ chuỗi đã cho. Trình tự có thể là một danh sách hoặc một tuple. Điều này trả về một giá trị duy nhất từ ​​dữ liệu có sẵn xem xét các giá trị trùng lặp trong chuỗi (danh sách).using choice() The choice() method is used to return a random number from given sequence. The sequence can be a list or a tuple. This returns a single value from available data that considers duplicate values in the sequence(list).

    Làm thế nào để bạn chọn nhiều mục ngẫu nhiên từ một danh sách trong Python?

    Sử dụng hàm ngẫu nhiên.sample () Khi bạn muốn chọn nhiều mục ngẫu nhiên từ danh sách mà không cần lặp lại hoặc sao chép.Có một sự khác biệt giữa lựa chọn () và lựa chọn ().Các lựa chọn () đã được thêm vào Python 3.6 để chọn n phần tử từ danh sách một cách ngẫu nhiên, nhưng chức năng này có thể lặp lại các mục. when you want to choose multiple random items from a list without repetition or duplicates. There is a difference between choice() and choices() . The choices() was added in Python 3.6 to choose n elements from the list randomly, but this function can repeat items.

    Làm thế nào để bạn tạo ra n số ngẫu nhiên trong python?

    Bằng cách sử dụng Random.randint (), chúng ta có thể thêm các số ngẫu nhiên vào danh sách.random. randint() we can add random numbers into a list.

    Làm thế nào để bạn chọn một mục ngẫu nhiên từ một danh sách mà không cần lựa chọn trong Python?

    Để 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 ngẫu nhiên.sample ().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.use the random. sample() function. The function accepts two parameters: the list to sample from and the number of items to sample.