Tìm hiểu cách sử dụng Python để xáo trộn một danh sách, bao gồm cả khả năng tạo lại một kết quả nhất định và xáo trộn các danh sách trong Python.

Bạn đang xem : python cách ngẫu nhiên hóa 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, do đó ngẫu nhiên hóa các phần 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 thức .shuffle () .random () .

Biết cách xáo trộn danh sách và tạo ra một kết quả ngẫu nhiên là một kỹ năng vô cùng hữu ích. Ví dụ: nó có thể vô cùng hữu ích trong việc phát triển một trò chơi Python mà 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 lấy các kết quả ngẫu nhiên.

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

Trả lời nhanh - Trộn danh sách Python

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

Python được tích hợp sẵn một thư viện cực kỳ hữu ích để tạo ra tính 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 () random.sample () . Tuy nhiên, trước khi đi sâu vào cách sử dụng chúng, chúng ta hãy nhanh chóng khám phá sự khác biệt là gì.

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

  • random.shuffle () xáo trộn danh sách ban đầu, nghĩa là việc xáo trộn có thể được thực hiện tại chỗ
  • random.sample () trả về danh sách xáo trộn mới, dựa trên danh sách ban đầu

random.sample () cũng có thể được sử dụng để xáo trộn các chuỗi và bộ giá trị, 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 kiểu dữ liệu bất biến.

Bây giờ, hãy cùng tìm hiểu cách xáo trộn danh sách bằng Python!

​​Xem một số hướng dẫn Python khác về datagy, bao gồm hướng dẫn đầy đủ của chúng tôi để tạo kiểu cho Gấu trúc tổng quan toàn diện của chúng tôi về Pivot Table in Pandas !

Ngẫu nhiên một danh sách Python và gán lại nó cho chính nó

Hàm random.shuffle () giúp bạn dễ dàng xáo trộn các mục của danh sách bằng Python. Bởi vì hàm hoạt động tại chỗ, chúng tôi không cần phải gán lại danh sách cho chính nó, nhưng nó cho phép chúng tôi dễ dàng ngẫu nhiên hóa các phần tử của danh sách.

Hãy xem phần này trông như thế nào:

 # Trộn danh sách bằng random.shuffle ()
nhập ngẫu nhiên

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learning', 'Python', 'và', 'nữa']
random.shuffle (a_list)

print (a_list)
# Trả về: ['more', 'will', 'Python', 'welcome', 'learning', 'you', 'where', 'to', 'datagy', 'và'] 

Những gì chúng tôi đã làm ở đây là:

  1. Tạo danh sách mới
  2. Đã áp dụng hàm random.shuffle () cho danh sách đó
  3. In kết quả để xác minh việc xáo trộn

Xin lưu ý rằng nếu bạn đang làm theo ví dụ trên, danh sách được sắp xếp ngẫu nhiên của bạn có thể sẽ trông khác!

Trong phần tiếp theo, bạn sẽ học cách sử dụng hàm random.sample () để tạo ngẫu nhiên một danh sách bằng Python.

​​ Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python? Hãy xem hướng dẫn chuyên sâu này bao gồm tất cả mọi thứ bạn cần biết, với các ví dụ thực tế. Nhiều người học bằng hình ảnh hơn, hãy xem hướng dẫn trên YouTube của tôi tại đây .

Shuffle một danh sách Python và gán nó vào một danh sách mới

Hàm random.sample () được sử dụng để lấy mẫu một số lượng mục từ một đối tượng giống chuỗi trong Python. Chức năng chọn các mục này một cách ngẫu nhiên.

Hãy xem nhanh hàm này trông như thế nào:

random.sample (có thể lặp lại, k)

Trong trường hợp này, có thể lặp lại sẽ là danh sách mà chúng tôi muốn xáo trộn và k đề cập đến số lượng mục chúng tôi muốn chọn. Bởi vì chúng tôi muốn trả lại danh sách đầy đủ theo thứ tự ngẫu nhiên, chúng tôi sẽ chuyển độ dài của danh sách vào tham số k .

Hãy xem cách chúng ta có thể sử dụng hàm .sample () để tạo ngẫu nhiên danh sách Python:

 # Trộn danh sách bằng random.sample ()
nhập ngẫu nhiên

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learning', 'Python', 'và', 'nữa']
shuffled = random.sample (a_list, len (a_list))

in (xáo trộn)
# Trả về: ['where', 'you', 'welcome', 'to', 'more', 'Python', 'và', 'datagy', 'will', 'learning'] 

Hãy xem cách chúng tôi đã quản lý để ngẫu nhiên hóa các phần tử danh sách Python của mình:

  1. Chúng tôi đã tạo danh sách của mình và gán nó cho a_list
  2. Chúng tôi đã tạo một biến mới shuffled lấy ngẫu nhiên. hàm sample () . Chúng tôi đã chuyển danh sách và độ dài của danh sách vào hàm. Bằng cách sử dụng hàm len () , chúng tôi có thể giữ cho phương thức này động, vì độ dài của danh sách có thể thay đổi.

Trong phần tiếp theo, bạn sẽ học cách tái tạo kết quả danh sách xáo trộn bằng Python.

​​ Bạn muốn tìm hiểu cách in một tệp JSON bằng Python? Tìm hiểu ba phương pháp khác nhau để thực hiện điều này bằng cách sử dụng hướng dẫn chuyên sâu này tại đây .

Tạo lại Kết quả Danh sách Python Bị xáo trộn

Khi làm việc với các kết quả ngẫu nhiên, đôi khi bạn muốn tạo lại một kết quả. Trong ví dụ dưới đây, bạn sẽ học cách có thể tạo lại danh sách bị xáo trộn.

Chúng tôi sẽ sử dụng hàm random.seed () để tạo ra kết quả có thể lặp lại.

Hãy xem phần này trông như thế nào:

 # Sao chép danh sách xáo trộn ngẫu nhiên bằng Python
nhập ngẫu nhiên

a_list = ['welcome', 'to', 'datagy', 'where', 'you', 'will', 'learning', 'Python', 'và', 'nữa']

random.seed (1)

cho tôi trong phạm vi (5):
    random.shuffle (a_list)
    print (a_list)

# Trả lại:
# ['learning', 'and', 'more', 'Python', 'will', 'where', 'welcome', 'you', 'to', 'datagy']
# ['will', 'to', 'more', 'welcome', 'where', 'datagy', 'learning', 'you', 'và', 'Python']
# ['you', 'and', 'learning', 'Python', 'datagy', 'will', 'more', 'to', 'welcome', 'where']
# ['to', 'learning', 'welcome', 'and', 'datagy', 'you', 'will', 'where', 'Python', 'more']
# ['welcome', 'to', 'datagy', 'more', 'will', 'where', 'learning', 'you', 'và', 'Python'] 

Bây giờ, có vẻ như các danh sách được in ra không phải là ngẫu nhiên. Tuy nhiên, nếu chúng tôi chạy lại chương trình của mình ở trên, thì chương trình sẽ trả về cùng một danh sách được xáo trộn ngẫu nhiên mỗi lần ! Hàm random.seed () cho phép chúng tôi tạo một giá trị cơ sở xác định tính ngẫu nhiên giả của các hàm theo sau nó. Bởi vì, trong trường hợp này, chúng tôi đã gán cho nó một giá trị cụ thể là 2 , chúng tôi có thể tái tạo tính ngẫu nhiên.

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

​​ Bạn muốn tìm hiểu thêm về vòng lặp for trong Python? Hãy xem hướng dẫn chuyên sâu của tôi đưa bạn từ người mới bắt đầu đến người dùng for-vòng nâng cao! Bạn muốn xem video thay thế? Xem hướng dẫn trên YouTube của tôi tại đây .

Trộn một Danh sách Python

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

Hãy xem phần này trông như thế nào:

 # Trộn danh sách danh sách bằng Python
nhập ngẫu nhiên

a_list = [['apple', 'cam', 'nho'], ["chuối", "dưa", "quýt"], ["chanh", "chanh", "dâu tây"]]

cho danh sách phụ trong a_list:
    random.shuffle (danh sách phụ)

print (a_list)

# Trả về: [['nho', 'cam', 'táo'], ['dưa', 'chuối', 'quýt'], ['dâu', 'chanh', 'chanh']] 

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 chỉ định lại khả năng hiểu danh sách hơi khó hiểu và không trực quan. Vì lý do này, chúng tôi đã chọn sử dụng vòng lặp for ở đây vì chúng tôi phải luôn cố gắng để có thể đọc đượ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.

​​ Muốn tìm hiểu cách sử dụng Python zip () hàm lặp qua hai danh sách? Hướng dẫn này cho bạn chính xác những gì zip () hàm thực hiện và chỉ cho bạn một số cách sáng tạo để sử dụng hàm.

Trộn nhiều danh sách với Thứ tự xáo trộn tương tự

Giả sử bạn có hai danh sách: một danh sách chứa loại trái cây và danh sách kia ghi số loại trái cây bạn có. Bạn muốn xáo trộn danh sách nhưng bạn muốn tính toàn vẹn của tham chiếu vẫn đúng (nghĩa là chỉ mục 0 của cả hai danh sách sẽ được xáo trộn thành chỉ mục giống nhau trong kết quả xáo trộn).

Để đạt được điều này, chúng tôi sẽ:

  1. Hợp nhất hai danh sách trong một danh sách bằng cách sử dụng hàm zip ()
  2. Trộn nội bộ danh sách
  3. Giải nén danh sách các danh sách thành các danh sách riêng lẻ

Hãy xem cách chúng tôi có thể thực hiện việc này:

 # Trộn hai danh sách theo cùng một thứ tự
nhập ngẫu nhiên

trái cây = ['táo', 'nho', 'cam', 'chuối']
số lượng = [50, 40, 60, 70]

merge = list (zip (hoa quả, số lượng))
# Cái này trông giống như: [('táo', 50), ('nho', 40), ('cam', 60), ('chuối', 70)]

random.shuffle (đã hợp nhất)

hoa quả = [item [0] cho mặt hàng đã hợp nhất]
số lượng = [mặt hàng [1] cho mặt hàng được hợp nhất]

in (hoa quả)
in (số lượng)

# Trả lại:
# ['chuối', 'cam', 'táo', 'nho']
# [70, 60, 50, 40] 

Chúng tôi có thể thấy rằng chúng tôi đã sử dụng tốt cả hàm zip () cũng như khả năng hiểu danh sách Python để thực hiện điều này.

​​ Bạn cần tự động đổi tên tệp? Xem hướng dẫn chuyên sâu này về cách sử dụng pathlib để đổi tên tệp. Không chỉ là người học trực quan, toàn bộ hướng dẫn cũng có sẵn dưới dạng video trong bài đăng!

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, do đó 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 tại đây .


Xem thêm những thông tin liên quan đến chủ đề python làm thế nào để ngẫu nhiên hóa một danh sách

Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka

alt

  • Tác giả: edureka!
  • Ngày đăng: 2019-03-10
  • Đánh giá: 4 ⭐ ( 7837 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 🔥 Post Graduate Diploma in Artificial Intelligence by E&ICT Academy
    NIT Warangal: https://www.edureka.co/executive-programs/machine-learning-and-ai
    This Edureka Python Tutorial for Beginners (Python Tutorial Blog: https://goo.gl/wd28Zr) will help you learn Python programming language and its core concepts with examples from scratch. This Python tutorial for beginners video helps you to learn the following concepts in Python:
    00:00 Agenda for the session
    1:16 Introduction to Python
    5:29 Who is using Python
    7:13 Python Applications
    7:34 Python Market Trends
    8:36 Python Installation
    10:17 Python IDE & Interpreter
    12:30 Executing Code in Python
    13:19 Comments and Literals
    15:10 Indentation
    16:20 Python Code Execution
    16:50 Hello World Program Using Python
    20:25 Identifiers
    22:22 Variables
    23:35 Data Types
    26:22 Immutable Data Types
    26:26 Numeric Data Type
    27:34 Strings
    28:28 Tuples
    29:48 Mutable Data Type
    29:55 Lists
    34:19 Dictionaries
    36:36 Sets
    37:01 Python Operators
    37:18 Arithmetic Operator
    38:02 Assignment Operator
    39:03 Comparison Operator
    40:00 Logical Operators
    42:22 Bitwise Operator
    42:51 Identity Operator
    44:11 membership Operator
    42:55 Conditional Statements
    51:38 Loops on Python
    52:00 While Loop
    53:07 For Loop
    55:20 Nested Loops
    55:50 Control Statements
    58:30 Command Line Parameters
    1:00:28 Sequences and File Operations
    1:00:53 Python Input Function
    1:02:46 Python File Operations
    1:03:14 Opening and Closing Files
    1:04:40 Python Open Function
    1:06:50 Write Function
    1:07:05 Read Function
    1:07:19 Rename Function
    1:07:52 Delete Function
    1:10:05 Close Function
    1:10:52 File Object Attributes
    1:13:48 Python Sequences
    1:17:40 Python Lists
    1:19:12 List Operations
    1:26:04 Python Tuples
    1:26:30 Tuple Operations
    1:30:10 Python Strings
    1:37:14 Python Sets
    1:38:25 Set Operations
    1:41:58 Python Dictionaries
    1:45:22 Dictionary Operations
    1:49:12 Functions and Oops
    2:21:12 Object-Oriented Concepts
    2:26:57 Definition of Method
    2:27:30 Scope of Variables
    2:29:26 Attributes
    2:38:16 Private Methods
    2:39:39 Class Variables and Instance Variables
    2:40:54 Constructor and Destructor
    2:43:20 Key Concepts of Object-Oriented Programming
    2:43:25 Abstraction
    2:45:01 Encapsulation
    2:45:19 Inheritance
    2:45:47 Types of Inheritance
    2:46:21 Single Inheritance
    2:48:15 Multiple Inheritance
    2:49:47 Overriding Method
    2:51:01 Polymorphism
    2:59:59 Important Modules Used in Python
    3:19:34 Regular Expressions
    3:26:19 Search and Match Function
    3:27:31 Regular Expressions Applications
    3:27:34 Packages in Python
    3:28:18 Exception Handling
    3:31:20 Catching Specific Exceptions
    3:33:22 Finally Block
    3:34:06 try-finally Block
    3:34:22 User-Defined Exceptions
    3:36:56 Introduction To NumPy and Pandas
    3:38:50 - What is Data Analysis?
    3:43:08 - Why Python for Data Analysis?
    3:43:32 - Introduction to NumPy
    4:07:33 - Reading & Writing from Files
    4:09:13 - Reading & Writing from CSV Files
    4:12:11 - Introduction to Pandas
    4:39:12 - Introduction to Data Visualization & Matplotlib
    5:00:35 - Data Manipulation
    5:28:10 - Use Case ( Country-Wise Statistics)
    5:37:55 - Developing Web Maps using Folium & Pandas
    5:38:13 - Problem Statement (Disaster Management Organization)
    5:39:51 - Installing Folium and Pandas
    5:53:00 - Problem Statement ( Titanic Data Analysis)
    5:57:13 - Data Wrangling
    6:23:39 - Web Scraping using Python
    6:25:50 - Libraries used for Web Scraping ( Beautiful Soup)
    6:27:39 - Requests library
    6:32:35 - Data Visualisation on the browser
    6:33:00 - Introduction to Bokeh
    6:36:02 - Computer Vision using OpenCV
    6:36:09 - How a computer reads an image
    6:38:21 - What is OpenCV?
    6:39:15 - Operations with OpenCV
    6:40:09 - Load images using openCV
    6:44:22 - Write Operation
    6:44:51 - Face detection using OpenCV
    6:55:55 - Capturing video
    7:00:05 - Use Case - Motion Detector
    7:00:15 - Problem Statement
    7:00:38 - Solution Logic
    7:11:49 - Plotting the Motion detection graph

    ----------𝐄𝐝𝐮𝐫𝐞𝐤𝐚 𝐏𝐲𝐭𝐡𝐨𝐧 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠𝐬-----------

    🔵Python Programming Certification: http://bit.ly/37rEsnA
    🔵Python Certification Training for Data Science: http://bit.ly/2Gj6fux

    ----------𝐄𝐝𝐮𝐫𝐞𝐤𝐚 𝐌𝐚𝐬𝐭𝐞𝐫𝐬 𝐏𝐫𝐨𝐠𝐫𝐚𝐦----------

    🔵Data Scientist Masters Program: http://bit.ly/2t1snGM
    🔵Machine Learning Engineer Masters Program: https://bit.ly/3Hi1sXN

    -----------𝐄𝐝𝐮𝐫𝐞𝐤𝐚 𝐔𝐧𝐢𝐯𝐞𝐫𝐬𝐢𝐭𝐲 𝐏𝐫𝐨𝐠𝐫𝐚𝐦----------

    🌕Post Graduate Diploma in Artificial Intelligence Course offered by E&ICT Academy
    NIT Warangal: https://bit.ly/3qdRRdw

    PythonEdureka Edureka PythonTutorial PythonTraining

    🔵New Python Tutorial - Full Course (10 hours): https://www.youtube.com/watch?v=WGJJIrtnfpk

    🔹Python Tutorial Playlist: https://goo.gl/WsBpKe
    🔹Python Tutorial Blog Series: http://bit.ly/2sqmP4s

    For more information, Please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll free)

Python: Hướng dẫn cơ bản để nhận dạng giọng nói với Python

  • Tác giả: v1study.com
  • Đánh giá: 3 ⭐ ( 7150 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Chi tiết bài học 26. Random một số trong python

  • Tác giả: vimentor.com
  • Đánh giá: 4 ⭐ ( 5743 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vimentor chi tiết bài học

Random trong Python: Tạo số random ngẫu nhiên

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 6260 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cách tạo số ngẫu nhiên bằng cách sử dụng module random trong Python, tạo ra số nguyên random hoặc số thực random trong Python bằng hàm random và randint

Xáo trộn một mảng với python, ngẫu nhiên hóa thứ tự mảng với python

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 6206 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] import random random.shuffle(array)

Ý tưởng dự án Python: Ứng dụng thực hành Python.

  • Tác giả: vn.bitdegree.org
  • Đánh giá: 4 ⭐ ( 2511 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Dự án Python: Học Python dễ dàng hơn khi bạn có thể áp dụng vào thực tế. Tìm hiểu ý tưởng dự án Python tại đây.

One moment, please...

  • Tác giả: ketoanmvb.com
  • Đánh giá: 5 ⭐ ( 8064 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Bootstrap col-md Giải thích: Học cách sử dụng col-md trong mã của bạn - div lớp col md 12

By ads_php