Hướng dẫn python list with empty elements - danh sách python với các phần tử trống

Câu trả lời hiện đang được chấp nhận của Varunl

 >>> l = [None] * 10
 >>> l
 [None, None, None, None, None, None, None, None, None, None]

Hoạt động tốt cho các loại không tham chiếu như số. Thật không may nếu bạn muốn tạo một danh sách danh sách, bạn sẽ gặp phải các lỗi tham khảo. Ví dụ trong Python 2.7.6:

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 

Như bạn có thể thấy, mỗi phần tử đang chỉ vào cùng một đối tượng danh sách. Để khắc phục điều này, bạn có thể tạo một phương thức sẽ khởi tạo từng vị trí thành một tham chiếu đối tượng khác.

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 

Có khả năng là một cách Python mặc định, tích hợp trong việc thực hiện việc này (thay vì viết một hàm), nhưng tôi không chắc nó là gì. Sẽ rất vui khi được sửa chữa!

Chỉnh sửa: Đó là

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
2

Thí dụ :

>>> [ [random.random() for _ in range(2) ] for _ in range(5)]
>>> [[0.7528051908943816, 0.4325669600055032], [0.510983236521753, 0.7789949902294716], [0.09475179523690558, 0.30216475640534635], [0.3996890132468158, 0.6374322093017013], [0.3374204010027543, 0.4514925173253973]]

Hướng dẫn python list with empty elements - danh sách python với các phần tử trống

Nếu bạn muốn tìm hiểu làm thế nào để tạo một danh sách trống trong Python một cách hiệu quả, thì bài viết này là dành cho bạn.

Bạn sẽ học:

  • Cách tạo một danh sách trống bằng dấu ngoặc vuông
    def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    3.
  • Cách tạo một danh sách trống bằng cách sử dụng
    def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    4.
  • Trường hợp sử dụng của họ.
  • Chúng hiệu quả như thế nào (một người nhanh hơn cái kia!). Chúng tôi sẽ sử dụng mô -đun
    def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    5 để so sánh chúng.

Hãy bắt đầu nào! ✨

🔹 Sử dụng dấu ngoặc vuông

Bạn có thể tạo một danh sách trống với một cặp dấu ngoặc vuông, như thế này: & nbsp;

Hướng dẫn python list with empty elements - danh sách python với các phần tử trống

Mẹo: Chúng tôi gán danh sách trống cho một biến để sử dụng nó sau trong chương trình của chúng tôi. We assign the empty list to a variable to use it later in our program.

Ví dụ:

num = []

Danh sách trống sẽ có độ dài

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
6, như bạn có thể thấy ngay tại đây:

>>> num = []
>>> len(num)
0

Danh sách trống là các giá trị giả, có nghĩa là chúng đánh giá thành

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
7 trong bối cảnh Boolean:falsy values, which means that they evaluate to
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
7 in a boolean context:

>>> num = []
>>> bool(num)
False

Thêm các yếu tố vào một danh sách trống

Bạn có thể thêm các phần tử vào danh sách trống bằng các phương thức

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
8 và
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
9:

  • def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    8 thêm phần tử vào cuối danh sách.
  • def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    9 Thêm phần tử vào chỉ mục cụ thể của danh sách mà bạn chọn.

Vì các danh sách có thể là các giá trị sự thật hoặc giả mạo tùy thuộc vào việc chúng trống hay không khi chúng được đánh giá, bạn có thể sử dụng chúng trong các điều kiện như thế này:

if num:
	print("This list is not empty")
else:
	print("This list is empty")

Đầu ra của mã này là:

This list is empty

Bởi vì danh sách trống, vì vậy nó đánh giá là sai.

Nói chung:

  • Nếu danh sách không trống, nó sẽ đánh giá thành
    >>> [ [random.random() for _ in range(2) ] for _ in range(5)]
    >>> [[0.7528051908943816, 0.4325669600055032], [0.510983236521753, 0.7789949902294716], [0.09475179523690558, 0.30216475640534635], [0.3996890132468158, 0.6374322093017013], [0.3374204010027543, 0.4514925173253973]]
    
    2, vì vậy mệnh đề IF được thực thi.
  • Nếu danh sách trống, nó sẽ đánh giá thành
    def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    7, do đó mệnh đề khác được thực thi.

Example:

Trong ví dụ dưới đây, chúng tôi tạo một danh sách trống và gán nó cho biến

>>> [ [random.random() for _ in range(2) ] for _ in range(5)]
>>> [[0.7528051908943816, 0.4325669600055032], [0.510983236521753, 0.7789949902294716], [0.09475179523690558, 0.30216475640534635], [0.3996890132468158, 0.6374322093017013], [0.3374204010027543, 0.4514925173253973]]
4. Sau đó, bằng cách sử dụng một vòng lặp cho, chúng tôi thêm một chuỗi các phần tử (số nguyên) vào danh sách ban đầu trống:

>>> num = []
>>> for i in range(3, 15, 2):
	num.append(i)

Chúng tôi kiểm tra giá trị của biến để xem các mục có được nối thành công không và xác nhận rằng danh sách không còn trống nữa: & nbsp;

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
0

Mẹo: Chúng tôi thường sử dụng

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
8 để thêm phần tử đầu tiên vào danh sách trống, nhưng bạn cũng có thể thêm phần tử này gọi phương thức
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
9 với INDEX
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
6:
We commonly use
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
8 to add the first element to an empty list, but you can also add this element calling the
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
9 method with index
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
6:

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
1

🔸 Sử dụng hàm tạo Danh sách ()

Ngoài ra, bạn có thể tạo một danh sách trống với loại xây dựng loại

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
4, tạo ra một đối tượng danh sách mới.

Theo tài liệu Python:

Nếu không có đối số nào được đưa ra, hàm tạo tạo một danh sách trống mới,
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
3.
Hướng dẫn python list with empty elements - danh sách python với các phần tử trống

Mẹo: Điều này tạo ra một đối tượng danh sách mới trong bộ nhớ và vì chúng tôi không chuyển bất kỳ đối số nào cho

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
4, một danh sách trống sẽ được tạo.Tip: This creates a new list object in memory and since we didn't pass any arguments to
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
4, an empty list will be created.

Ví dụ:

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
2

Danh sách trống sẽ có độ dài

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
6, như bạn có thể thấy ngay tại đây:

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
3

Danh sách trống là các giá trị giả, có nghĩa là chúng đánh giá thành

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
7 trong bối cảnh Boolean:falsy value when it is empty (it evaluates to
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
7 in a boolean context):

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
4

Example:

Đây là một danh sách đầy đủ chức năng, vì vậy chúng tôi có thể thêm các yếu tố vào nó:

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
5

Và kết quả sẽ là một danh sách không trống, như bạn có thể thấy ngay tại đây:

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
0

Các trường hợp sử dụng

  • Chúng tôi thường sử dụng
    def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    4 để tạo danh sách từ các vòng lặp hiện có như chuỗi, từ điển hoặc bộ dữ liệu.
  • Bạn thường thấy dấu ngoặc vuông
    def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    3 đang được sử dụng để tạo danh sách trống trong Python vì cú pháp này ngắn gọn và nhanh hơn.

Hiệu quả

Chờ đợi! Tôi chỉ nói với bạn rằng

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
3 nhanh hơn ____ 24 ...

Nhưng nhanh hơn bao nhiêu?

Hãy kiểm tra hiệu quả thời gian của họ bằng mô -đun thời gian.timeit module.

Để sử dụng mô -đun này trong chương trình Python của bạn, bạn cần nhập nó:

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
7

Cụ thể, chúng tôi sẽ sử dụng chức năng thời gian từ mô -đun này mà bạn có thể gọi với cú pháp này:

Hướng dẫn python list with empty elements - danh sách python với các phần tử trống

Mẹo: Mã được lặp lại nhiều lần để giảm sự khác biệt về thời gian có thể phát sinh từ các yếu tố bên ngoài như các quy trình khác có thể chạy vào thời điểm cụ thể đó. Điều này làm cho kết quả đáng tin cậy hơn cho mục đích so sánh.Tip: The code is repeated several times to reduce time differences that may arise from external factors such as other processes that might be running at that particular moment. This makes the results more reliable for comparison purposes.

Trên điểm của bạn ... hãy thiết lập ... Sẵn sàng! Đây là mã và đầu ra:Here is the code and output:

Đầu tiên, chúng tôi nhập mô -đun.

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
7

Sau đó, chúng tôi bắt đầu kiểm tra từng cú pháp.

Kiểm tra def init_list_of_objects(size): list_of_objects = list() for i in range(0,size): list_of_objects.append( list() ) #different object reference each time return list_of_objects >>> a = init_list_of_objects(10) >>> a [[], [], [], [], [], [], [], [], [], []] >>> a[0].append(0) >>> a [[0], [], [], [], [], [], [], [], [], []] >>> 3:

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
9

Kiểm tra def init_list_of_objects(size): list_of_objects = list() for i in range(0,size): list_of_objects.append( list() ) #different object reference each time return list_of_objects >>> a = init_list_of_objects(10) >>> a [[], [], [], [], [], [], [], [], [], []] >>> a[0].append(0) >>> a [[0], [], [], [], [], [], [], [], [], []] >>> 4:

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
0

Mẹo: Lưu ý rằng mã mà bạn muốn thời gian phải được bao quanh bởi các trích dẫn đơn

num = []
9 hoặc trích dẫn kép
>>> num = []
>>> len(num)
0
0. Thời gian được trả lại bởi hàm
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
5 được thể hiện bằng giây.
Notice that the code that you want to time has to be surrounded by single quotes
num = []
9 or double quotes
>>> num = []
>>> len(num)
0
0. The time returned by the
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
5 function is expressed in seconds.

So sánh các kết quả này:

  • def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    3:
    >>> num = []
    >>> len(num)
    0
    3
  • def init_list_of_objects(size):
        list_of_objects = list()
        for i in range(0,size):
            list_of_objects.append( list() ) #different object reference each time
        return list_of_objects
    
    
    >>> a = init_list_of_objects(10)
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append(0)
    >>> a
    [[0], [], [], [], [], [], [], [], [], []]
    >>> 
    
    4:
    >>> num = []
    >>> len(num)
    0
    5

Bạn có thể thấy rằng

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
3 nhanh hơn nhiều so với
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
4. Có sự khác biệt khoảng
>>> num = []
>>> len(num)
0
8 giây trong thử nghiệm này:

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
1

Tôi chắc chắn rằng bạn phải hỏi điều này ngay bây giờ: Tại sao

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
4 kém hiệu quả hơn
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
3 nếu họ làm chính xác điều tương tự?
Why is
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
4 less efficient than
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
3 if they do exactly the same thing?

Chà ...

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
4 chậm hơn vì nó yêu cầu tra cứu tên của hàm, gọi nó và sau đó tạo đối tượng danh sách trong bộ nhớ. Ngược lại,
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
3 giống như một "phím tắt" không yêu cầu quá nhiều bước trung gian để tạo danh sách trong bộ nhớ.

Sự khác biệt về thời gian này sẽ không ảnh hưởng đến hiệu suất của chương trình của bạn rất nhiều nhưng thật tuyệt khi biết cái nào hiệu quả hơn và cách họ làm việc đằng sau hậu trường.

Tóm tắt

Bạn có thể tạo một danh sách trống bằng cách sử dụng một cặp dấu ngoặc vuông

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
3 hoặc hàm tạo loại
def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
4, một hàm tích hợp tạo ra một danh sách trống khi không có đối số nào được truyền.

Khung vuông

def init_list_of_objects(size):
    list_of_objects = list()
    for i in range(0,size):
        list_of_objects.append( list() ) #different object reference each time
    return list_of_objects


>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>> 
3 thường được sử dụng trong Python để tạo danh sách trống vì nó nhanh hơn và súc tích hơn.

Tôi thực sự hy vọng rằng bạn thích bài viết của tôi và thấy nó hữu ích. Bây giờ bạn có thể tạo danh sách trống trong các dự án Python của bạn. Kiểm tra các khóa học trực tuyến của tôi. Theo dõi tôi trên Twitter. ⭐Now you can create empty lists in your Python projects. Check out my online courses. Follow me on Twitter. ⭐️

Nếu bạn muốn đi sâu hơn vào danh sách, bạn có thể muốn đọc:

  • Danh sách Python Phụ lục - Cách thêm phần tử vào một mảng, được giải thích với các ví dụ
  • Phương pháp mảng danh sách sắp xếp Python - tăng dần và giảm dần giải thích với các ví dụ
  • Danh sách Python phụ thuộc vào danh sách Python - Danh sách mở rộng - Sự khác biệt được giải thích với các ví dụ về phương thức mảng


Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

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

Một danh sách trống trong Python có thể được tạo theo hai cách, bằng cách sử dụng dấu ngoặc vuông [] hoặc bằng cách sử dụng hàm tạo danh sách ()..

Làm thế nào để bạn thêm các mục trống vào một danh sách trong Python?

Bạn có thể thêm các phần tử vào danh sách trống bằng các phương thức append () và chèn (): append () thêm phần tử vào cuối danh sách.Chèn () thêm phần tử tại chỉ mục cụ thể của danh sách mà bạn chọn.using the methods append() and insert() : append() adds the element to the end of the list. insert() adds the element at the particular index of the list that you choose.

Làm cách nào để nối một null vào một danh sách?

Có, chúng ta có thể chèn các giá trị null vào danh sách dễ dàng bằng phương thức add () của nó.Trong trường hợp triển khai danh sách không hỗ trợ NULL thì nó sẽ ném NullPulumException.using its add() method. In case of List implementation does not support null then it will throw NullPointerException.

Làm thế nào để bạn lập một danh sách với n các yếu tố trong Python?

Để tạo một danh sách các phần tử n trình giữ chỗ, nhân danh sách một phần tử trình giữ chỗ duy nhất với n.Ví dụ: sử dụng [none] * 5 để tạo danh sách [không có, không có, không, không, không] với năm yếu tố không có.Sau đó, bạn có thể ghi đè một số yếu tố với các bài tập chỉ mục.multiply the list of a single placeholder element with n . For example, use [None] * 5 to create a list [None, None, None, None, None] with five elements None . You can then overwrite some elements with index assignments.