Làm việc với danh sách các danh sách trong Python

Trong Python, danh sách là một chuỗi được sắp xếp có thể chứa một số loại đối tượng như số nguyên, ký tự hoặc dấu phẩy

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tham gia danh sách danh sách [danh sách lồng nhau] bằng python. Bây giờ chúng ta thấy 4 phương pháp để hoàn thành nhiệm vụ này -

  • Sử dụng vòng lặp for lồng nhau

  • Sử dụng hiểu Danh sách

  • Sử dụng hàm sum[]

  • Sử dụng mô-đun NumPy

Giả sử chúng tôi đã lấy một danh sách các danh sách chứa một số phần tử. Chúng tôi sẽ tham gia danh sách các danh sách đó và trả về kết quả bằng các phương thức khác nhau như đã chỉ định ở trên

Phương pháp 1. Sử dụng vòng lặp for lồng nhau

Thuật toán [Các bước]

  • Tạo một biến để lưu trữ danh sách đầu vào của danh sách [danh sách lồng nhau]

  • Tạo một danh sách trống mới để lưu trữ danh sách kết quả

  • Sử dụng vòng lặp for, để duyệt qua độ dài của danh sách danh sách đầu vào bằng cách sử dụng hàm len[][Số lượng mục trong một đối tượng được trả về bởi phương thức len[]]

  • Thực hiện một vòng lặp khác để duyệt qua từng phần tử của danh sách lồng nhau

  • Sử dụng hàm append[] [thêm phần tử vào cuối danh sách] để thêm phần tử này vào danh sách kết quả

  • In danh sách kết quả sau khi tham gia danh sách đầu vào của danh sách

Thí dụ

Chương trình sau đây trả về danh sách sau khi nối danh sách đầu vào của danh sách bằng cách sử dụng vòng lặp for lồng nhau –

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

[[1, 3], [2, 6, 7], [9, 5, 12, 7]]
Resultant list after joining the list of lists = [1, 3, 2, 6, 7, 9, 5, 12, 7]

Phương pháp 2. hiểu danh sách

Thuật toán [Các bước]

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Tạo một biến để lưu trữ danh sách đầu vào của danh sách [danh sách lồng nhau]

  • Sử dụng khả năng hiểu danh sách để tạo danh sách mới bằng cách nối tất cả các phần tử của danh sách lồng nhau

When you want to create a new list based on the values of an existing list, list comprehension provides a concise syntax.
  • In danh sách kết quả sau khi nhập danh sách đầu vào của danh sách

Thí dụ

Chương trình sau trả về danh sách sau khi tham gia danh sách đầu vào của danh sách bằng cách sử dụng hiểu danh sách -

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

[['tutorialspoint', 'python'], [2, 6, 7], [9, 5, 12, 7]]
Resultant list after joining list of lists = ['tutorialspoint', 'python', 2, 6, 7, 9, 5, 12, 7]

Phương pháp 3. Sử dụng hàm sum[]

Thuật toán [Các bước]

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Sử dụng hàm sum[] để nối các danh sách lồng nhau thành một danh sách bằng cách chuyển một danh sách trống làm đối số thứ hai cho danh sách đó

Hàm sum[] trả về một số đại diện cho tổng của tất cả các mục trong một lần lặp

cú pháp

sum[iterable, start]

Thông số

có thể lặp lại [tùy chọn] - bất kỳ chuỗi nào như danh sách, bộ dữ liệu, v.v.

bắt đầu [tùy chọn] - Một giá trị được nối/thêm vào giá trị trả về

  • In danh sách kết quả sau khi nhập danh sách đầu vào của danh sách

Thí dụ

Chương trình sau trả về danh sách sau khi nối danh sách đầu vào của danh sách bằng cách sử dụng hàm sum[] −

đầu ra

[['tutorialspoint', 'python'], [2, 6, 7], [9, 5]]
Resultant list after joining the list of lists:
['tutorialspoint', 'python', 2, 6, 7, 9, 5]

Phương pháp 4. Sử dụng mô-đun NumPy

Thư viện Numpy bao gồm các hàm để nối chuỗi con và làm phẳng chúng thành một danh sách 1 chiều duy nhất

Thuật toán [Các bước]

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Sử dụng từ khóa nhập để nhập mô-đun NumPy

  • Tham gia danh sách các danh sách bằng cách sử dụng hàm concatenate[] và làm phẳng chúng thành danh sách 1 chiều bằng cách sử dụng thuộc tính phẳng và hàm list[] [chuyển đổi thành danh sách] tương ứng

  • In danh sách kết quả sau khi nhập danh sách đầu vào của danh sách

Thí dụ

Chương trình sau đây trả về danh sách sau khi tham gia danh sách đầu vào của danh sách bằng mô-đun NumPy -

đầu ra

[['tutorialspoint', 'python'], [2, 6, 7], [9, 5]]
Resultant list after joining the list of lists:
['tutorialspoint', 'python', '2', '6', '7', '9', '5']

Phần kết luận

Chúng ta đã học cách nối/ghép danh sách các danh sách thành danh sách 1 thứ nguyên bằng bốn phương pháp khác nhau, bao gồm vòng lặp for, hiểu danh sách, hàm NumPy và hàm sum[] từ bài viết này. Chúng ta cũng đã biết điều gì sẽ xảy ra khi chúng ta chuyển danh sách lồng nhau gồm các danh sách có danh sách trống thành sum[]

Chúng ta có thể có một danh sách nhiều loại trong Python, như chuỗi, số, v.v. Python cũng cho phép chúng ta có một danh sách bên trong danh sách được gọi là danh sách lồng nhau hoặc danh sách hai chiều

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách tạo các danh sách như vậy

Sử dụng hàm append[] để tạo danh sách danh sách trong Python

Chúng ta có thể thêm các danh sách khác nhau vào một danh sách chung bằng hàm append[]. Nó thêm danh sách dưới dạng một phần tử vào cuối danh sách

Đoạn mã sau sẽ giải thích điều này

l1 = [1,2,3]
l2 = [4,5,6]
l3 = [7,8,9]

lst = []

lst.append[l1]
lst.append[l2]
lst.append[l3]
print[lst]

đầu ra

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

Lưu ý rằng một danh sách hai chiều chứa các giá trị nguyên hoặc float có thể được coi là một ma trận

Sử dụng Phương pháp hiểu danh sách để tạo danh sách danh sách trong Python

Hiểu danh sách là một cách đơn giản nhưng thanh lịch để tạo danh sách trong Python. Chúng tôi sử dụng các vòng lặp for và các câu điều kiện trong dấu ngoặc vuông để tạo danh sách bằng phương pháp này

Chúng ta có thể tạo danh sách lồng nhau bằng phương pháp này, như hình bên dưới

________số 8_______

đầu ra

[[1, 2, 3], [1, 2, 3], [1, 2, 3]]

Sử dụng vòng lặp for để tạo danh sách danh sách trong Python

Chúng ta có thể tạo một danh sách các danh sách phức tạp hơn bằng cách sử dụng rõ ràng hàm append[] với vòng lặp for. Chúng tôi sẽ sử dụng các vòng lặp lồng nhau trong phương thức này. Ví dụ,

Chủ Đề