Hướng dẫn how do i make a list a certain size in python? - làm cách nào để tạo một danh sách có kích thước nhất định trong python?

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à

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

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]]

Bài viết này mô tả cách khởi tạo một danh sách với bất kỳ kích thước nào [số lượng phần tử] và các giá trị trong Python.

  • Tạo một danh sách trống
  • Khởi tạo một danh sách với bất kỳ kích thước và giá trị nào
  • Ghi chú về khởi tạo danh sách 2D [danh sách danh sách]
  • Đối với các bộ đếm và mảng

Bạn có thể khởi tạo các bộ dữ liệu cũng như danh sách.

  • Lưu ý rằng một tuple có một phần tử yêu cầu
    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.

Tạo một danh sách trống

Khởi tạo một danh sách với bất kỳ kích thước và giá trị nào

l_empty = []
print[l_empty]
# []

print[len[l_empty]]
# 0

Xem bài viết sau đây về việc khởi tạo mảng numpy

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append[0]
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
8.

l_empty.append[100]
l_empty.append[200]
print[l_empty]
# [100, 200]

l_empty.remove[100]
print[l_empty]
# [200]

Numpy: Tạo một ndarray với tất cả các yếu tố được khởi tạo với cùng một giá trị

  • Một danh sách trống được tạo như sau. Bạn có thể nhận được số lượng các yếu tố của một danh sách với chức năng tích hợp
    >>> a = [[]]*10
    >>> a
    [[], [], [], [], [], [], [], [], [], []]
    >>> a[0].append[0]
    >>> a
    [[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
    >>> 
    
    9.
  • Bạn có thể thêm một phần tử bằ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], [], [], [], [], [], [], [], [], []]
    >>> 
    
    0 hoặc xóa nó bằ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], [], [], [], [], [], [], [], [], []]
    >>> 
    
    1.

Khởi tạo một danh sách với bất kỳ kích thước và giá trị nào

Xem bài viết sau đây về việc khởi tạo mảng numpy

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append[0]
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
8.

Numpy: Tạo một ndarray với tất cả các yếu tố được khởi tạo với cùng một giá trị

l = [0] * 10
print[l]
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

print[len[l]]
# 10

Một danh sách được tạo ra lặp lại các yếu tố của danh sách ban đầu.

print[[0, 1, 2] * 3]
# [0, 1, 2, 0, 1, 2, 0, 1, 2]

Bạn có thể tạo một danh sách các số tuần tự 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], [], [], [], [], [], [], [], [], []]
>>> 
3.

  • Cách sử dụng phạm vi [] trong Python

Ghi chú về khởi tạo danh sách 2D [danh sách danh sách]

Hãy cẩn thận khi khởi tạo một danh sách các danh sách.

Mã sau đây không tốt.

l_2d_ng = [[0] * 4] * 3
print[l_2d_ng]
# [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

Nếu bạn cập nhật một danh sách, tất cả các danh sách sẽ được thay đổi.

l_2d_ng[0][0] = 5
print[l_2d_ng]
# [[5, 0, 0, 0], [5, 0, 0, 0], [5, 0, 0, 0]]

l_2d_ng[0].append[100]
print[l_2d_ng]
# [[5, 0, 0, 0, 100], [5, 0, 0, 0, 100], [5, 0, 0, 0, 100]]

Điều này là do các danh sách bên trong là tất cả cùng một đối tượng.

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

Bạn có thể viết như sau bằng cách sử dụng toàn bộ danh sách.

  • Liệt kê sự hiểu biết trong Python

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

Mỗi danh sách bên trong được coi là một đối tượng khác nhau.

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

Mặc dù

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 sử dụng trong ví dụ trên, bất kỳ kích thước nào có thể chấp nhận được.

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

Nếu bạn muốn tạo một danh sách đa chiều, bạn có thể làm tổ danh sách toàn diện.

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

Đối với các bộ đếm và mảng

Bạn có thể khởi tạo các bộ dữ liệu cũng như danh sách.

Lưu ý rằng một tuple có một phần tử yêu cầu

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.

  • Một tuple với một yếu tố yêu cầu một dấu phẩy trong Python

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

Đối với 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], [], [], [], [], [], [], [], [], []]
>>> 
6, bạn có thể chuyển danh sách khởi tạo cho hàm tạo.

  • Mảng - Mảng hiệu quả của các giá trị số - Tài liệu Python 3.9.0

>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append[0]
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>> 
6

Làm thế nào để bạn chỉ định kích thước của một danh sách trong Python?

Kỹ thuật 1: Phương pháp Len [] để tìm độ dài của một danh sách trong Python. Python đã có phương thức xây dựng-Len [] để tìm kích thước của danh sách, tức là độ dài của danh sách. Phương thức Len [] chấp nhận một sự khác biệt như một đối số và nó được tính và trả về số lượng các phần tử có trong danh sách.len[] method to find the length of a list in Python. Python has got in-built method – len[] to find the size of the list i.e. the length of the list. The len[] method accepts an iterable as an argument and it counts and returns the number of elements present in the list.

Bạn có thể giới hạn kích thước của một danh sách trong Python không?

Độ dài tối đa của danh sách phụ thuộc vào nền tảng và phụ thuộc vào không gian địa chỉ và/hoặc RAM. Hằng số tối đa được xác định trong mô-đun SYS trả về 263-1 trên hệ thống 64 bit. Số nguyên dương lớn nhất được hỗ trợ bởi loại py_ssize_t của nền tảng, là danh sách kích thước tối đa, chuỗi, dicts và nhiều container khác có thể có.. The maxsize constant defined in sys module returns 263-1 on 64 bit system. The largest positive integer supported by the platform's Py_ssize_t type, is the maximum size lists, strings, dicts, and many other containers can have.

Làm thế nào để bạn xác định kích thước của một danh sách?

Phương pháp 1: Sử dụng hàm Len [] Nhận chiều dài/kích thước của danh sách bằng hàm Len [] [số lượng mục trong một đối tượng được trả về bằng phương thức Len []. Hàm Len [] trả về số lượng mục trong một danh sách khi đối tượng là một danh sách] và tạo một biến để lưu trữ nó. In chiều dài/kích thước của một danh sách.Using len[] function Get the length/size of the list using the len[] function[The number of items in an object is returned by the len[] method. The len[] function returns the number of items in a list when the object is a list] and create a variable to store it. Print the length/size of a list.

Danh sách có thể được thay đổi kích thước không?

Danh sách :: Resize [] là một hàm tích hợp trong C ++ STL được sử dụng để thay đổi kích thước thùng chứa danh sách.Nó lấy một số N làm tham số và thay đổi kích thước container danh sách để chứa chính xác n phần tử.Nếu danh sách đã có nhiều hơn N phần tử, thì hàm sẽ xóa các phần tử khỏi danh sách ngoại trừ phần tử N đầu tiên.. It takes a number n as parameter and resizes the list container to contain exactly n elements. If the list already has more than n elements, then the function erases the elements from the list except the first n element.

Bài Viết Liên Quan

Chủ Đề