Hướng dẫn python shuffle list of lists - python xáo trộn danh sách danh sách

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để xáo trộn danh sách, từ đó ngẫu nhiên các yếu tố danh sách Python. Đối với điều này, bạn sẽ học cách sử dụng thư viện Python random, đặc biệt là các phương pháp .shuffle().random().

Biết cách xáo trộn một danh sách và tạo ra một kết quả ngẫu nhiên là một kỹ năng cực kỳ hữu ích. Ví dụ, nó có thể cực kỳ hữu ích trong việc phát triển một trò chơi Python nơi bạn cần chọn một kết quả ngẫu nhiên. Nó cũng có thể có các ứng dụng vô cùng hữu ích trong công việc liên quan đến dữ liệu, nơi bạn có thể cần phải lấy kết quả ngẫu nhiên.

Câu trả lời nhanh: Sử dụng random.shuffle()Use random.shuffle()

Hướng dẫn python shuffle list of lists - python xáo trộn danh sách danh sách

  • Sự khác biệt giữa .Shuffle và .sample là gì?
  • Shuffle một danh sách Python và gán lại nó cho chính nó
  • Shuffle một danh sách python và gán nó cho một danh sách mới
  • Tái tạo kết quả danh sách python xáo trộn
  • Shuffle một danh sách python
  • Xáo trộn nhiều danh sách với cùng một thứ tự xáo trộn
  • Sự kết luận

Sự khác biệt giữa .Shuffle và .sample là gì?

Shuffle một danh sách Python và gán lại nó cho chính nó

Shuffle một danh sách python và gán nó cho một danh sách mới:

  • Tái tạo kết quả danh sách python xáo trộn
  • Shuffle một danh sách python

Xáo trộn nhiều danh sách với cùng một thứ tự xáo trộn

Sự kết luận

Python đi kèm với một thư viện cực kỳ hữu ích để tạo ra sự ngẫu nhiên, được gọi là random. Trong suốt hướng dẫn này, bạn sẽ học cách sử dụng các hàm random.shuffle()

# Shuffle a list using random.sample()
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
shuffled = random.sample(a_list, len(a_list))

print(shuffled)
# Returns: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'and', 'datagy', 'will', 'learn']
1. Tuy nhiên, trước khi chúng ta đi sâu vào cách sử dụng chúng, hãy để nhanh chóng khám phá sự khác biệt là gì.

Shuffle một danh sách Python và gán lại nó cho chính nó

Shuffle một danh sách python và gán nó cho một danh sách mới

Tái tạo kết quả danh sách python xáo trộn

# Shuffle a list using random.shuffle()
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
random.shuffle(a_list)

print(a_list)
# Returns: ['more', 'will', 'Python', 'welcome', 'learn', 'you', 'where', 'to', 'datagy', 'and']

Shuffle một danh sách python

  1. Xáo trộn nhiều danh sách với cùng một thứ tự xáo trộn
  2. Sự kết luận
  3. Python đi kèm với một thư viện cực kỳ hữu ích để tạo ra sự ngẫu nhiên, được gọi là random. Trong suốt hướng dẫn này, bạn sẽ học cách sử dụng các hàm random.shuffle()
    # Shuffle a list using random.sample()
    import random
    
    a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
    shuffled = random.sample(a_list, len(a_list))
    
    print(shuffled)
    # Returns: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'and', 'datagy', 'will', 'learn']
    1. Tuy nhiên, trước khi chúng ta đi sâu vào cách sử dụng chúng, hãy để nhanh chóng khám phá sự khác biệt là gì.

Cả hai chức năng trả về một danh sách được sắp xếp ngẫu nhiên, nhưng cách chúng trả về chúng là khác nhau:

random.shuffle() xáo trộn danh sách ban đầu, có nghĩa là sự xáo trộn có thể được thực hiện tại chỗ

# Shuffle a list using random.sample()
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
shuffled = random.sample(a_list, len(a_list))

print(shuffled)
# Returns: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'and', 'datagy', 'will', 'learn']
1 trả về một danh sách xáo trộn mới, dựa trên danh sách ban đầu Check out this in-depth tutorial that covers off everything you need to know, with hands-on examples. More of a visual learner, check out my YouTube tutorial here.

Shuffle một danh sách python và gán nó cho một danh sách mới

Tái tạo kết quả danh sách python xáo trộn

Shuffle một danh sách python

# Shuffle a list using random.sample()
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
shuffled = random.sample(a_list, len(a_list))

print(shuffled)
# Returns: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'and', 'datagy', 'will', 'learn']
9

Xáo trộn nhiều danh sách với cùng một thứ tự xáo trộn

Sự kết luận

# Shuffle a list using random.sample()
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
shuffled = random.sample(a_list, len(a_list))

print(shuffled)
# Returns: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'and', 'datagy', 'will', 'learn']

Python đi kèm với một thư viện cực kỳ hữu ích để tạo ra sự ngẫu nhiên, được gọi là random. Trong suốt hướng dẫn này, bạn sẽ học cách sử dụng các hàm random.shuffle()

# Shuffle a list using random.sample()
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
shuffled = random.sample(a_list, len(a_list))

print(shuffled)
# Returns: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'and', 'datagy', 'will', 'learn']
1. Tuy nhiên, trước khi chúng ta đi sâu vào cách sử dụng chúng, hãy để nhanh chóng khám phá sự khác biệt là gì.

  1. Cả hai chức năng trả về một danh sách được sắp xếp ngẫu nhiên, nhưng cách chúng trả về chúng là khác nhau:
  2. random.shuffle() xáo trộn danh sách ban đầu, có nghĩa là sự xáo trộn có thể được thực hiện tại chỗ

# Shuffle a list using random.sample()
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
shuffled = random.sample(a_list, len(a_list))

print(shuffled)
# Returns: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'and', 'datagy', 'will', 'learn']
1 trả về một danh sách xáo trộn mới, dựa trên danh sách ban đầu

# Shuffle a list using random.sample()
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']
shuffled = random.sample(a_list, len(a_list))

print(shuffled)
# Returns: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'and', 'datagy', 'will', 'learn']
1 cũng có thể được sử dụng để xáo trộn các chuỗi và bộ dữ liệu, vì nó tạo ra một danh sách mới, do đó cho phép bạn làm việc trên các loại dữ liệu bất biến. Learn three different methods to accomplish this using this in-depth tutorial here.

Tái tạo kết quả danh sách python xáo trộn

Shuffle một danh sách python

Xáo trộn nhiều danh sách với cùng một thứ tự xáo trộn

Tái tạo kết quả danh sách python xáo trộn

# Reproducing a randomly shuffled list in Python
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']

random.seed(1)

for i in range(5):
    random.shuffle(a_list)
    print(a_list)

# Returns:
# ['learn', 'and', 'more', 'Python', 'will', 'where', 'welcome', 'you', 'to', 'datagy']
# ['will', 'to', 'more', 'welcome', 'where', 'datagy', 'learn', 'you', 'and', 'Python']
# ['you', 'and', 'learn', 'Python', 'datagy', 'will', 'more', 'to', 'welcome', 'where']
# ['to', 'learn', 'welcome', 'and', 'datagy', 'you', 'will', 'where', 'Python', 'more']
# ['welcome', 'to', 'datagy', 'more', 'will', 'where', 'learn', 'you', 'and', 'Python']

Shuffle một danh sách pythonthe program would return the same randomly shuffled lists each time! The

# Reproducing a randomly shuffled list in Python
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']

random.seed(1)

for i in range(5):
    random.shuffle(a_list)
    print(a_list)

# Returns:
# ['learn', 'and', 'more', 'Python', 'will', 'where', 'welcome', 'you', 'to', 'datagy']
# ['will', 'to', 'more', 'welcome', 'where', 'datagy', 'learn', 'you', 'and', 'Python']
# ['you', 'and', 'learn', 'Python', 'datagy', 'will', 'more', 'to', 'welcome', 'where']
# ['to', 'learn', 'welcome', 'and', 'datagy', 'you', 'will', 'where', 'Python', 'more']
# ['welcome', 'to', 'datagy', 'more', 'will', 'where', 'learn', 'you', 'and', 'Python']
7 function allows us generate a base value that defines the pseudo-randomness of the functions that follow it. Because, in this case, we assigned it a specific value of
# Reproducing a randomly shuffled list in Python
import random

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learn', 'Python', 'and', 'more']

random.seed(1)

for i in range(5):
    random.shuffle(a_list)
    print(a_list)

# Returns:
# ['learn', 'and', 'more', 'Python', 'will', 'where', 'welcome', 'you', 'to', 'datagy']
# ['will', 'to', 'more', 'welcome', 'where', 'datagy', 'learn', 'you', 'and', 'Python']
# ['you', 'and', 'learn', 'Python', 'datagy', 'will', 'more', 'to', 'welcome', 'where']
# ['to', 'learn', 'welcome', 'and', 'datagy', 'you', 'will', 'where', 'Python', 'more']
# ['welcome', 'to', 'datagy', 'more', 'will', 'where', 'learn', 'you', 'and', 'Python']
9, we are able to reproduce the randomness.

Trong phần tiếp theo, bạn sẽ học cách xáo trộn danh sách danh sách Python.

Bạn muốn tìm hiểu thêm về Python for-loops? Kiểm tra hướng dẫn chuyên sâu của tôi đưa người dùng từ người mới bắt đầu đến nâng cao cho người dùng! Bạn muốn xem một video thay thế? Kiểm tra hướng dẫn YouTube của tôi ở đây. Check out my in-depth tutorial that takes your from beginner to advanced for-loops user! Want to watch a video instead? Check out my YouTube tutorial here.

Shuffle một danh sách python

Trong Python, bạn sẽ gặp phải danh sách đa chiều, thường được gọi là danh sách danh sách. Chúng ta có thể dễ dàng làm điều này bằng cách sử dụng một vòng lặp. Bằng cách lặp qua từng danh sách trong danh sách danh sách, sau đó chúng ta có thể dễ dàng áp dụng chức năng random.shuffle() để ngẫu nhiên hóa từng phần tử phụ.

Hãy cùng xem xét điều này trông như thế nào:

# Shuffling a list of lists in Python
import random

a_list = [['apple', 'orange', 'grape'], ['banana', 'melon', 'tangerine'], ['lime', 'lemon', 'strawberry']]

for sublist in a_list:
    random.shuffle(sublist)

print(a_list)

# Returns: [['grape', 'orange', 'apple'], ['melon', 'banana', 'tangerine'], ['strawberry', 'lemon', 'lime']]

Mặc dù chúng tôi cũng có thể thực hiện điều này bằng cách sử dụng khả năng hiểu danh sách, nhưng cú pháp không gán lại danh sách hiểu là hơi khó xử và không trực quan. Vì lý do này, chúng tôi đã chọn sử dụng một vòng lặp cho ở đây vì chúng ta nên luôn phấn đấu cho khả năng đọc.

Trong phần tiếp theo, bạn sẽ học cách xáo trộn nhiều danh sách với cùng một thứ tự xáo trộn.

Bạn muốn tìm hiểu làm thế nào để sử dụng chức năng Python

# Shuffling a list of lists in Python
import random

a_list = [['apple', 'orange', 'grape'], ['banana', 'melon', 'tangerine'], ['lime', 'lemon', 'strawberry']]

for sublist in a_list:
    random.shuffle(sublist)

print(a_list)

# Returns: [['grape', 'orange', 'apple'], ['melon', 'banana', 'tangerine'], ['strawberry', 'lemon', 'lime']]
1 để lặp qua hai danh sách? Hướng dẫn này dạy cho bạn chính xác những gì chức năng
# Shuffling a list of lists in Python
import random

a_list = [['apple', 'orange', 'grape'], ['banana', 'melon', 'tangerine'], ['lime', 'lemon', 'strawberry']]

for sublist in a_list:
    random.shuffle(sublist)

print(a_list)

# Returns: [['grape', 'orange', 'apple'], ['melon', 'banana', 'tangerine'], ['strawberry', 'lemon', 'lime']]
1 thực hiện và cho bạn thấy một số cách sáng tạo để sử dụng chức năng.
This tutorial teaches you exactly what the
# Shuffling a list of lists in Python
import random

a_list = [['apple', 'orange', 'grape'], ['banana', 'melon', 'tangerine'], ['lime', 'lemon', 'strawberry']]

for sublist in a_list:
    random.shuffle(sublist)

print(a_list)

# Returns: [['grape', 'orange', 'apple'], ['melon', 'banana', 'tangerine'], ['strawberry', 'lemon', 'lime']]
1 function does and shows you some creative ways to use the function.

Xáo trộn nhiều danh sách với cùng một thứ tự xáo trộn

Hãy nói rằng bạn có hai danh sách: một danh sách có chứa loại trái cây và số còn lại là loại trái cây mà bạn có. Bạn muốn xáo trộn các danh sách nhưng bạn muốn tính toàn vẹn tham chiếu vẫn đúng (có nghĩa là chỉ mục 0 của cả hai danh sách sẽ được xáo trộn với cùng một chỉ mục trong kết quả bị xáo trộn).same index in the shuffled result).

Để thực hiện điều này, chúng tôi sẽ:

  1. Hợp nhất hai danh sách trong danh sách các danh sách sử dụng hàm
    # Shuffling a list of lists in Python
    import random
    
    a_list = [['apple', 'orange', 'grape'], ['banana', 'melon', 'tangerine'], ['lime', 'lemon', 'strawberry']]
    
    for sublist in a_list:
        random.shuffle(sublist)
    
    print(a_list)
    
    # Returns: [['grape', 'orange', 'apple'], ['melon', 'banana', 'tangerine'], ['strawberry', 'lemon', 'lime']]
    1
  2. Xáo trộn danh sách danh sách nội bộ
  3. Giải nén danh sách danh sách vào danh sách riêng lẻ

Hãy cùng xem cách chúng ta có thể làm điều này:

# Shuffling two lists in the same order
import random

fruits = ['apples', 'grapes', 'oranges', 'bananas']
quantities = [50, 40, 60, 70]

merged = list(zip(fruits, quantities))
# This looks like: [('apples', 50), ('grapes', 40), ('oranges', 60), ('bananas', 70)]

random.shuffle(merged)

fruits = [item[0] for item in merged]
quantities = [item[1] for item in merged]

print(fruits)
print(quantities)

# Returns:
# ['bananas', 'oranges', 'apples', 'grapes']
# [70, 60, 50, 40]

Chúng ta có thể thấy rằng chúng ta đã sử dụng tốt cả chức năng

# Shuffling a list of lists in Python
import random

a_list = [['apple', 'orange', 'grape'], ['banana', 'melon', 'tangerine'], ['lime', 'lemon', 'strawberry']]

for sublist in a_list:
    random.shuffle(sublist)

print(a_list)

# Returns: [['grape', 'orange', 'apple'], ['melon', 'banana', 'tangerine'], ['strawberry', 'lemon', 'lime']]
1 cũng như sự hiểu biết của danh sách Python để thực hiện điều này.

Cần tự động hóa các tệp đổi tên? Kiểm tra hướng dẫn chuyên sâu này về việc sử dụng pathlib để đổi tên các tệp. Thêm một người học trực quan, toàn bộ hướng dẫn cũng có sẵn như một video trong bài viết!Check out this in-depth guide on using pathlib to rename files. More of a visual learner, the entire tutorial is also available as a video in the post!

Sự kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng Python để xáo trộn ngẫu nhiên một danh sách, từ đó sắp xếp các mục của nó theo thứ tự ngẫu nhiên. Đối với điều này, bạn đã học cách sử dụng thư viện Python random, đặc biệt là các phương thức .shuffle().random().

Để tìm hiểu thêm về thư viện random, hãy xem tài liệu chính thức ở đây.

Bạn có thể xáo trộn danh sách trong Python không?

Phương thức Python Random Shuffle () Phương thức Shuffle () có một chuỗi, như một danh sách và tổ chức lại thứ tự của các mục.Lưu ý: Phương pháp này thay đổi danh sách ban đầu, nó không trả về một danh sách mới.The shuffle() method takes a sequence, like a list, and reorganize the order of the items. Note: This method changes the original list, it does not return a new list.

Làm thế nào để bạn xáo trộn hai danh sách trong Python?

Phương thức: Sử dụng toán tử zip () + shuffle () + * Trong phương thức này, tác vụ này được thực hiện trong ba bước.Thứ nhất, các danh sách được nén lại với nhau bằng zip ().Bước tiếp theo là thực hiện shuffle bằng cách sử dụng inbuilt shuffle () và bước cuối cùng là giải nén các danh sách để tách danh sách bằng toán tử *.Using zip() + shuffle() + * operator In this method, this task is performed in three steps. Firstly, the lists are zipped together using zip(). Next step is to perform shuffle using inbuilt shuffle() and last step is to unzip the lists to separate lists using * operator.

Làm thế nào để bạn xáo trộn một danh sách lồng nhau trong Python?

Hàm ngẫu nhiên.shuffle () giúp dễ dàng xáo trộn các mục của danh sách trong Python.Bởi vì chức năng hoạt động tại chỗ, chúng tôi không cần phải tự gán lại danh sách, nhưng nó cho phép chúng tôi dễ dàng ngẫu nhiên ngẫu nhiên các yếu tố danh sách. shuffle() function makes it easy to shuffle a list's items in Python. Because the function works in-place, we do not need to reassign the list to itself, but it allows us to easily randomize list elements.

Làm thế nào để bạn xáo trộn một phạm vi trong Python?

Bạn có thể sử dụng Range () cùng với Danh sách () để tạo danh sách các số nguyên, sau đó áp dụng Random.Shuffle () trong danh sách đó.use range() along with list() to generate a list of integers, and then apply random. shuffle() on that list.