Hướng dẫn can you transpose a list in python? - bạn có thể chuyển đổi một danh sách trong python không?

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để chuyển đổi danh sách các danh sách, đôi khi được gọi là mảng 2 chiều. Bằng cách chuyển một danh sách các danh sách, về cơ bản chúng tôi đang biến các hàng của một ma trận thành các cột của nó và các cột của nó thành các hàng. Đây là một kỹ năng rất hữu ích để biết khi bạn học tập máy học.

Trong hướng dẫn này, bạn sẽ học cách thực hiện việc này bằng cách sử dụng các vòng lặp, danh sách toàn diện, hàm zip(), thư viện itertools, cũng như sử dụng thư viện ____8 phổ biến để hoàn thành nhiệm vụ này.

Câu trả lời nhanh: Sử dụng phương pháp Numpy từ .T

Hướng dẫn can you transpose a list in python? - bạn có thể chuyển đổi một danh sách trong python không?
Câu trả lời nhanh: Sử dụng Numpy trong Python để chuyển đổi danh sách các danh sách

  • Nó có nghĩa là gì khi chuyển một danh sách python?
  • Chuyển đổi danh sách danh sách Python bằng cách sử dụng Numpy
  • Sử dụng chức năng zip để chuyển danh sách danh sách trong Python
  • Sử dụng itertools để chuyển danh sách Python
  • Chuyển đổi danh sách danh sách Python bằng cách sử dụng một vòng lặp
  • Sử dụng danh sách hiểu để chuyển đổi danh sách các danh sách trong Python
  • Sự kết luận

Nó có nghĩa là gì khi chuyển một danh sách python?

Chuyển đổi danh sách danh sách Python bằng cách sử dụng NumpyBut what exactly does it mean to transpose a list of lists in Python?

Sử dụng chức năng zip để chuyển danh sách danh sách trong Python

Sử dụng itertools để chuyển danh sách Python

original = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]

transposed = [
    [1, 4, 7], 
    [2, 5, 8], 
    [3, 6, 9]
]

Chuyển đổi danh sách danh sách Python bằng cách sử dụng một vòng lặp

Chuyển đổi danh sách danh sách Python bằng cách sử dụng Numpy

Sử dụng chức năng zip để chuyển danh sách danh sách trong Python

Sử dụng itertools để chuyển danh sách Python

Chuyển đổi danh sách danh sách Python bằng cách sử dụng một vòng lặp

Sử dụng danh sách hiểu để chuyển đổi danh sách các danh sách trong Python

# Transpose a list of lists in Python using numpy
import numpy as np

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]

array = np.array(list_of_lists)
transposed_array = array.T
transposed_list_of_lists = transposed_array.tolist()

# This is the same as: transposed = np.array(list_of_lists).T.tolist()

print(transposed_list_of_lists)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9]
# ]

Sự kết luận

  1. Mảng truyền là một chức năng phổ biến bạn cần làm khi bạn làm việc trên các dự án học máy. Nhưng chính xác thì nó có nghĩa là gì khi chuyển một danh sách các danh sách trong Python?
  2. Chúng ta có thể nghĩ về những người bạn trong danh sách các danh sách của chúng ta trong Python là hàng của một ma trận. Khi chúng tôi chuyển đổi một danh sách các danh sách, về cơ bản chúng tôi biến các hàng của ma trận của chúng tôi thành các cột và biến các cột thành các hàng.
  3. Hãy cùng xem những gì trông giống như trực quan:

Bây giờ, hãy để bắt đầu trong việc học cách chuyển một mảng hai chiều trong Python.

Python đi kèm với một tiện ích tuyệt vời, numpy, làm cho hoạt động với các hoạt động số cực kỳ đơn giản! Numpy được đóng gói với các loại đối tượng khác nhau, một trong số đó là

# Transpose a list of lists in Python using numpy
import numpy as np

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]

array = np.array(list_of_lists)
transposed_array = array.T
transposed_list_of_lists = transposed_array.tolist()

# This is the same as: transposed = np.array(list_of_lists).T.tolist()

print(transposed_list_of_lists)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9]
# ]
1 numpy. Các mảng này chia sẻ nhiều phẩm chất với danh sách Python nhưng cũng cho phép chúng tôi hoàn thành một số hoạt động toán học hữu ích trên chúng. Check out my in-depth tutorial with easy to follow along examples here.

Sử dụng chức năng zip để chuyển danh sách danh sách trong Python

Sử dụng itertools để chuyển danh sách Python

Chuyển đổi danh sách danh sách Python bằng cách sử dụng một vòng lặp

# Transpose a list of lists in Python using numpy
import numpy as np

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]
transposed_tuples = list(zip(*list_of_lists))
# This looks like: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

transposed = [list(sublist) for sublist in transposed_tuples]
print(transposed)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9]
# ]

Sử dụng danh sách hiểu để chuyển đổi danh sách các danh sách trong Python

  1. Sự kết luận
  2. Mảng truyền là một chức năng phổ biến bạn cần làm khi bạn làm việc trên các dự án học máy. Nhưng chính xác thì nó có nghĩa là gì khi chuyển một danh sách các danh sách trong Python?

Chúng ta có thể nghĩ về những người bạn trong danh sách các danh sách của chúng ta trong Python là hàng của một ma trận. Khi chúng tôi chuyển đổi một danh sách các danh sách, về cơ bản chúng tôi biến các hàng của ma trận của chúng tôi thành các cột và biến các cột thành các hàng.

Hãy cùng xem những gì trông giống như trực quan: Check out this in-depth tutorial that covers off how to zip two lists together in Python, with easy to follow examples!

Bây giờ, hãy để bắt đầu trong việc học cách chuyển một mảng hai chiều trong Python.

Python đi kèm với một tiện ích tuyệt vời, numpy, làm cho hoạt động với các hoạt động số cực kỳ đơn giản! Numpy được đóng gói với các loại đối tượng khác nhau, một trong số đó là

# Transpose a list of lists in Python using numpy
import numpy as np

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]

array = np.array(list_of_lists)
transposed_array = array.T
transposed_list_of_lists = transposed_array.tolist()

# This is the same as: transposed = np.array(list_of_lists).T.tolist()

print(transposed_list_of_lists)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9]
# ]
1 numpy. Các mảng này chia sẻ nhiều phẩm chất với danh sách Python nhưng cũng cho phép chúng tôi hoàn thành một số hoạt động toán học hữu ích trên chúng.

Một trong những hoạt động này là việc truyền dữ liệu, sử dụng phương thức

# Transpose a list of lists in Python using numpy
import numpy as np

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]

array = np.array(list_of_lists)
transposed_array = array.T
transposed_list_of_lists = transposed_array.tolist()

# This is the same as: transposed = np.array(list_of_lists).T.tolist()

print(transposed_list_of_lists)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9]
# ]
2, cũng có thể được rút ngắn thành .T.

# Transpose a list of lists in Python using itertools
from itertools import zip_longest

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9,10]
]

tranposed_tuples = zip_longest(*list_of_lists, fillvalue=None)
transposed_tuples_list = list(tranposed_tuples)
print(list(transposed_tuples_list))

# This returns: [(1, 4, 7), (2, 5, 8), (3, 6, 9), (None, None, 10)]

# To create a list of each item:
transposed = [list(sublist) for sublist in transposed_tuples_list]
print(transposed)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9],
#     [None, None, 10]
# ]

Chúng ta có thể thấy ở đây, rằng một hàng thứ tư đã được thêm vào. Chúng tôi đã sử dụng tham số

# Transpose a list of lists in Python using numpy
import numpy as np

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]
transposed_tuples = list(zip(*list_of_lists))
# This looks like: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

transposed = [list(sublist) for sublist in transposed_tuples]
print(transposed)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9]
# ]
7 để xác định những gì cần điền vào những khoảng trống bị thiếu này. Phần lớn điều này giống như sử dụng hàm zip(), nhưng nó cho phép chúng ta làm việc xung quanh các hạn chế của chức năng đó.

Trong hai phần tiếp theo, bạn sẽ học thêm hai phương pháp, đó là triển khai ngây thơ hơn bằng cách sử dụng các vòng lặp và danh sách toàn diện, để chuyển danh sách danh sách.

Chuyển đổi danh sách danh sách Python bằng cách sử dụng một vòng lặp

Python for-loops là công cụ đáng kinh ngạc để giúp bạn hiểu rõ hơn về cách một số thuật toán có thể hoạt động. Mặc dù chúng có thể không phải lúc nào cũng là cách hiệu quả nhất để hoàn thành một việc gì đó, nhưng chúng có thể dễ dàng theo dõi và ghi lại về những gì mã của bạn đang làm chính xác.

Hãy để xem cách chúng ta có thể thực hiện một Python cho Loop để chuyển đổi một mảng dữ liệu hai chiều:

# Transpose a list of lists in Python using for loops

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9,10]
]

transposed = list()

for i in range(len(list_of_lists[0])):
    row = list()
    for sublist in list_of_lists:
        row.append(sublist[i])
    transposed.append(row)

print(transposed)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9]
# ]

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

  1. Chúng tôi khởi tạo một danh sách trống có tên
    # Transpose a list of lists in Python using numpy
    import numpy as np
    
    list_of_lists = [
        [1,2,3],
        [4,5,6],
        [7,8,9]
    ]
    transposed_tuples = list(zip(*list_of_lists))
    # This looks like: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
    
    transposed = [list(sublist) for sublist in transposed_tuples]
    print(transposed)
    
    # Returns
    # [
    #     [1, 4, 7], 
    #     [2, 5, 8], 
    #     [3, 6, 9]
    # ]
    9
  2. Sau đó chúng tôi lặp lại độ dài của danh sách đầu tiên trong danh sách danh sách
  3. Trong đó, chúng tôi khởi tạo một danh sách trống mới có tên
    # Transpose a list of lists in Python using itertools
    from itertools import zip_longest
    
    list_of_lists = [
        [1,2,3],
        [4,5,6],
        [7,8,9,10]
    ]
    
    tranposed_tuples = zip_longest(*list_of_lists, fillvalue=None)
    transposed_tuples_list = list(tranposed_tuples)
    print(list(transposed_tuples_list))
    
    # This returns: [(1, 4, 7), (2, 5, 8), (3, 6, 9), (None, None, 10)]
    
    # To create a list of each item:
    transposed = [list(sublist) for sublist in transposed_tuples_list]
    print(transposed)
    
    # Returns
    # [
    #     [1, 4, 7], 
    #     [2, 5, 8], 
    #     [3, 6, 9],
    #     [None, None, 10]
    # ]
    0
  4. Sau đó chúng tôi lặp qua từng mục iTh và nối vào danh sách của chúng tôi
    # Transpose a list of lists in Python using itertools
    from itertools import zip_longest
    
    list_of_lists = [
        [1,2,3],
        [4,5,6],
        [7,8,9,10]
    ]
    
    tranposed_tuples = zip_longest(*list_of_lists, fillvalue=None)
    transposed_tuples_list = list(tranposed_tuples)
    print(list(transposed_tuples_list))
    
    # This returns: [(1, 4, 7), (2, 5, 8), (3, 6, 9), (None, None, 10)]
    
    # To create a list of each item:
    transposed = [list(sublist) for sublist in transposed_tuples_list]
    print(transposed)
    
    # Returns
    # [
    #     [1, 4, 7], 
    #     [2, 5, 8], 
    #     [3, 6, 9],
    #     [None, None, 10]
    # ]
    0
  5. Cuối cùng, chúng tôi nối hàng đó vào danh sách
    # Transpose a list of lists in Python using numpy
    import numpy as np
    
    list_of_lists = [
        [1,2,3],
        [4,5,6],
        [7,8,9]
    ]
    transposed_tuples = list(zip(*list_of_lists))
    # This looks like: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
    
    transposed = [list(sublist) for sublist in transposed_tuples]
    print(transposed)
    
    # Returns
    # [
    #     [1, 4, 7], 
    #     [2, 5, 8], 
    #     [3, 6, 9]
    # ]
    9 của chúng tôi
  6. Điều này sau đó lặp lại cho từng mục trong các nhóm phụ

Trong phần tiếp theo, bạn sẽ học cách biến việc thực hiện vòng lặp này thành một danh sách pythonic hiểu được.

Bạn muốn tìm hiểu thêm về cách viết cho các vòng lặp trong Python? Hướng dẫn này sẽ dạy cho bạn tất cả những gì bạn cần biết, bao gồm một số mẹo và thủ thuật nâng cao!This tutorial will teach you all you need to know, including some advanced tips and tricks!

Sử dụng danh sách hiểu để chuyển đổi danh sách các danh sách trong Python

Trong nhiều trường hợp, một Python cho Loop có thể được biến thành một danh sách rất được viết tắt. Mặc dù chúng tôi tăng sự ngắn gọn của mã của chúng tôi, chúng tôi có thể hy sinh khả năng đọc mã của chúng tôi.

Hãy cùng xem cách chúng ta có thể chuyển đổi danh sách các danh sách bằng cách sử dụng danh sách hiểu biết:

# Transpose a list of lists in Python using a list comprehension

list_of_lists = [
    [1,2,3],
    [4,5,6],
    [7,8,9,10]
]

transposed = [[row[i] for row in list_of_lists] for i in range(len(list_of_lists[0]))]
print(transposed)

# Returns
# [
#     [1, 4, 7], 
#     [2, 5, 8], 
#     [3, 6, 9]
# ]

Chúng ta có thể thấy ở đây rằng chúng ta đã lưu khá nhiều không gian. Chúng tôi không phải khởi tạo hai danh sách trống. Điều đó đang được nói, điều này có thể khó theo dõi hơn một chút, đặc biệt là vì nó khó khăn hơn nhiều để cung cấp nhận xét hướng dẫn cho mỗi bước của con đường.

Bạn muốn tìm hiểu thêm về toàn bộ danh sách Python? Kiểm tra hướng dẫn chuyên sâu của tôi về chúng ở đây. Thêm một người học trực quan? Bạn sẽ tìm thấy một video chuyên sâu về chủ đề bên trong hướng dẫn.Check out my in-depth tutorial on them here. More of a visual learner? You’ll find an in-depth video on the topic inside the tutorial.

Sự kết luận

Trong bài đăng này, bạn đã học cách chuyển một danh sách python hoặc một mảng 2 chiều. Bạn đã học cách thực hiện việc này bằng cách sử dụng thư viện Dữ liệu phổ biến numpy, cũng như sử dụng chức năng zip() tích hợp, một mình hoặc với thư viện itertools. Bạn cũng đã học được một số phương pháp ngây thơ hơn để thực hiện điều này, sử dụng cả hai cho các vòng lặp cũng như sự hiểu biết danh sách python.

Để tìm hiểu thêm về phương pháp chuyển vị numpy, hãy xem tài liệu chính thức ở đây.

Làm thế nào để bạn chuyển một cột vào một danh sách trong Python?

Câu trả lời nhanh: Sử dụng phương thức .t của Numpy..
Nó có nghĩa là gì khi chuyển một danh sách python ?.
Chuyển đổi danh sách danh sách Python bằng cách sử dụng Numpy ..
Sử dụng chức năng ZIP để chuyển đổi danh sách các danh sách trong Python ..
Sử dụng itertools để chuyển danh sách danh sách Python ..
Chuyển danh sách danh sách Python bằng cách sử dụng một vòng lặp ..

Có một chức năng chuyển vị trong Python?

Ma trận numpy chuyển đổi () - Chuyển vị của một mảng trong python Chuyển đổi của một ma trận thu được bằng cách di chuyển dữ liệu hàng đến dữ liệu cột và cột sang các hàng.Nếu chúng ta có một mảng hình dạng (x, y) thì chuyển đổi của mảng sẽ có hình dạng (y, x). - Transpose of an Array in Python The transpose of a matrix is obtained by moving the rows data to the column and columns data to the rows. If we have an array of shape (X, Y) then the transpose of the array will have the shape (Y, X).

Làm cách nào để chuyển đổi danh sách thành danh sách trong Python?

Sử dụng bản đồ.Hàm bản đồ được sử dụng để áp dụng cùng một hàm nhiều lần cho một chuỗi các tham số.Vì vậy, chúng tôi sử dụng chức năng Lambda để tạo một loạt các yếu tố danh sách bằng cách đọc từng phần tử từ danh sách ban đầu và áp dụng chức năng bản đồ cho nó.use a lambda function to create a series of list elements by reading each element from the original list and apply map function to it.

Làm cách nào để chuyển đổi danh sách thành một mảng trong Python?

Cách chuyển đổi danh sách thành một mảng trong Python..
Sử dụng numpy.array () Chức năng này của thư viện Numpy lấy một danh sách làm đối số và trả về một mảng chứa tất cả các yếu tố của danh sách.Xem ví dụ dưới đây: Nhập Numpy dưới dạng NP.....
Sử dụng Numpy.AsArray () Hàm này gọi hàm numpy.array () bên trong chính nó ..