Hướng dẫn how do i make a list within a list python? - làm cách nào để tạo danh sách trong danh sách python?

Tạo một danh sách các danh sách trong Python là một chút khó khăn. Trong bài viết này, chúng tôi sẽ thảo luận về 4 cách khác nhau để tạo và khởi tạo danh sách danh sách.

Hãy bắt đầu từ cách cơ bản, nhanh nhất để tạo và khởi tạo một danh sách bình thường với cùng các giá trị trong Python là,

# Creating a list with same values
list_of_num = [5]* 10

print(list_of_num)

Đầu ra:

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]

Nó tạo ra một danh sách kích thước 10 với cùng một phần tử, tức là về cơ bản, nó sao chép đối tượng bên trong [], 10 lần. Hãy để sử dụng cùng một logic để tạo và khởi tạo danh sách các danh sách,

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)

Đầu ra:

[[], [], [], []]

Nó tạo ra một danh sách kích thước 10 với cùng một phần tử, tức là về cơ bản, nó sao chép đối tượng bên trong [], 10 lần. Hãy để sử dụng cùng một logic để tạo và khởi tạo danh sách các danh sách,

for elem in list_of_num:
    print(id(elem))

Đầu ra:

200792200
200792200
200792200
200792200

Nó tạo ra một danh sách kích thước 10 với cùng một phần tử, tức là về cơ bản, nó sao chép đối tượng bên trong [], 10 lần. Hãy để sử dụng cùng một logic để tạo và khởi tạo danh sách các danh sách,

Ở đây chúng tôi đã cung cấp một danh sách trống [] bên trong [] và nhân nó với 4. Nó đã tạo ra 4 tài liệu tham khảo khác nhau của [] và chèn chúng vào một danh sách mới. Có, đây không phải là 4 danh sách trống trong danh sách chính, nhưng đây không phải là các đối tượng danh sách khác nhau thay vì đây chỉ là các tài liệu tham khảo của danh sách đầu tiên. Hãy để xác nhận điều này bằng cách lặp qua danh sách và in ID của mỗi đối tượng danh sách phụ,

Tất cả các mục trong danh sách có cùng một ID, tức là chúng trỏ đến cùng một đối tượng danh sách.

# Insert 11 into the 3rd sub list
list_of_num[2].append(11)

Tại sao nó lại quan trọng?

print('Modified list of lists:')
print(list_of_num)

Đầu ra:

Modified list of lists:
[[11], [11], [11], [11]]

Nó tạo ra một danh sách kích thước 10 với cùng một phần tử, tức là về cơ bản, nó sao chép đối tượng bên trong [], 10 lần. Hãy để sử dụng cùng một logic để tạo và khởi tạo danh sách các danh sách,

Ở đây chúng tôi đã cung cấp một danh sách trống [] bên trong [] và nhân nó với 4. Nó đã tạo ra 4 tài liệu tham khảo khác nhau của [] và chèn chúng vào một danh sách mới. Có, đây không phải là 4 danh sách trống trong danh sách chính, nhưng đây không phải là các đối tượng danh sách khác nhau thay vì đây chỉ là các tài liệu tham khảo của danh sách đầu tiên. Hãy để xác nhận điều này bằng cách lặp qua danh sách và in ID của mỗi đối tượng danh sách phụ,

Tất cả các mục trong danh sách có cùng một ID, tức là chúng trỏ đến cùng một đối tượng danh sách.

Tại sao nó lại quan trọng?

Hãy để chèn một phần tử trong danh sách phụ thứ 3 của danh sách chính, tức là.

Bây giờ hãy kiểm tra nội dung của danh sách chính,

# Create an empty list
list_of_lists = []
# Iterate over a sequence of numbers from 0 to 4
for i in range(5):
    # In each iteration, add an empty list to the main list
    list_of_lists.append([])

print('List of lists:')
print(list_of_lists)

Đầu ra:

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
0

Nó tạo ra một danh sách kích thước 10 với cùng một phần tử, tức là về cơ bản, nó sao chép đối tượng bên trong [], 10 lần. Hãy để sử dụng cùng một logic để tạo và khởi tạo danh sách các danh sách,

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
1

Đầu ra:

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
2

Nó tạo ra một danh sách kích thước 10 với cùng một phần tử, tức là về cơ bản, nó sao chép đối tượng bên trong [], 10 lần. Hãy để sử dụng cùng một logic để tạo và khởi tạo danh sách các danh sách,

Ở đây chúng tôi đã cung cấp một danh sách trống [] bên trong [] và nhân nó với 4. Nó đã tạo ra 4 tài liệu tham khảo khác nhau của [] và chèn chúng vào một danh sách mới. Có, đây không phải là 4 danh sách trống trong danh sách chính, nhưng đây không phải là các đối tượng danh sách khác nhau thay vì đây chỉ là các tài liệu tham khảo của danh sách đầu tiên. Hãy để xác nhận điều này bằng cách lặp qua danh sách và in ID của mỗi đối tượng danh sách phụ,

Tất cả các mục trong danh sách có cùng một ID, tức là chúng trỏ đến cùng một đối tượng danh sách.

Đầu ra:

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
4

Tại sao nó lại quan trọng?

Hãy để chèn một phần tử trong danh sách phụ thứ 3 của danh sách chính, tức là.

Bây giờ hãy kiểm tra nội dung của danh sách chính,

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
5

Đầu ra:

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
0

Phần tử được chèn trong tất cả các danh sách phụ, bởi vì đây không phải là danh sách khác nhau. Chúng tôi đã không mong đợi điều này ở vị trí đầu tiên, chúng tôi chỉ muốn chèn phần tử trong danh sách phụ thứ 3. Vì vậy, nó chứng minh rằng đây là một cách sai để tạo và khởi tạo một danh sách. Hãy cùng nhìn vào cách chính xác,

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
7

Đầu ra:

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
8

Quảng cáo

Cách chính xác để tạo và khởi tạo danh sách các danh sách trong Python

Hãy cùng xem 4 cách khác nhau nhưng chính xác để tạo và khởi tạo danh sách các danh sách

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
9

Sử dụng cho vòng lặp để tạo và khởi tạo danh sách danh sách
We can use it for basic iteration from 0 to 4 and in each iteration we will append a sublist to main list i.e.

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
0

Đầu ra:

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
0

Giả sử chúng tôi muốn tạo một danh sách, trong đó chứa 5 danh sách phụ khác nhau. Để làm điều đó, trước tiên chúng tôi sẽ tạo một danh sách trống mới, sau đó chúng tôi sẽ lặp lại từ các số 0 đến 4 bằng cách sử dụng vòng lặp và trong mỗi lần lặp, chúng tôi sẽ nối một danh sách trống vào danh sách mới, tức là.

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
1

Đầu ra:

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
3

Bây giờ, hãy để xác nhận rằng nếu tất cả các danh sách phụ trong danh sách chính thực sự là danh sách khác nhau,

Tất cả các danh sách phụ có ID khác nhau, xác nhận rằng đây là các đối tượng khác nhau.

Hãy để chèn phần tử trong danh sách phụ thứ 3,

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
4

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
3

Phần tử chỉ được thêm vào trong danh sách phụ thứ 3, tất cả các danh sách phụ khác không bị ảnh hưởng. Vì vậy, nó cũng xác nhận rằng tất cả các danh sách phụ không phải là tài liệu tham khảo của cùng một danh sách, thay vào đó chúng là các đối tượng hoàn toàn khác nhau.

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
5

Đầu ra:

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
0

Sử dụng danh sách hiểu & phạm vi () để tạo danh sách các danh sách

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
7

Đầu ra:

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
8

Sử dụng hàm Python Rang Range (), chúng ta có thể tạo một chuỗi các số từ 0 đến N-1 và cho mỗi phần tử trong chuỗi tạo và nối một danh sách phụ vào danh sách chính bằng cách sử dụng danh sách hiểu biết, tức là.

Nó tạo ra một danh sách với 5 danh sách phụ. Hãy để xác nhận nếu mỗi danh sách phụ là một đối tượng khác nhau hay không,

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
9

Đầu ra:

[[], [], [], []]
0

Bạn có thể có một danh sách trong danh sách Python?

Danh sách lồng nhau của Python là gì?Một danh sách có thể chứa bất kỳ đối tượng sắp xếp nào, ngay cả một danh sách khác (người phụ), từ đó có thể chứa chính những người phụ, v.v.Điều này được gọi là danh sách lồng nhau.Bạn có thể sử dụng chúng để sắp xếp dữ liệu vào các cấu trúc phân cấp.

Chúng ta có thể tạo một danh sách lồng nhau trong Python không?

Danh sách là các cấu trúc dữ liệu hữu ích thường được sử dụng trong lập trình Python.Danh sách lồng nhau là một danh sách các danh sách hoặc bất kỳ danh sách nào có danh sách khác là một yếu tố (một người đăng ký phụ).Chúng có thể hữu ích nếu bạn muốn tạo một ma trận hoặc cần lưu trữ một trình phụ thuộc cùng với các loại dữ liệu khác.A nested list is a list of lists, or any list that has another list as an element (a sublist). They can be helpful if you want to create a matrix or need to store a sublist along with other data types.