Tôi nghi ngờ bạn đang cố gắng sao chép mã danh sách làm việc này:
In [56]: x = []
In [57]: x.append[[1,2]]
In [58]: x
Out[58]: [[1, 2]]
In [59]: np.array[x]
Out[59]: array[[[1, 2]]]
Nhưng với các mảng:
In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
Mặc dù tên, mảng
In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
1 không phải là một danh sách trống. Nó có 4 yếu tố, hình dạng mà bạn chỉ định.In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
Lưu ý rằng
In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
2 đã chuyển nhiệm vụ cho In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
3. Với tham số trục, đó là tất cả các phần phụ này làm. Nó không phải là một danh sách nhân bản.In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
3 đòi hỏi tính nhất quán trong kích thước của đầu vào của nó. Một là [2,2], cái kia [2,]. Kích thước không khớp.In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
2 là một chức năng nguy hiểm và không hữu ích ngay cả khi được sử dụng chính xác. In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
3 [và các chức năng In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
7] khác nhau là hữu ích. Nhưng bạn cần phải chú ý đến các hình dạng. Và không sử dụng chúng lặp đi lặp lại. Danh sách phụ lục là hiệu quả hơn cho điều đó.Khi bạn gặp lỗi này, bạn đã tra cứu các hàm
In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
2, In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
1 [và In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
3]? Đọc và hiểu các tài liệu? Về lâu dài, vì vậy các câu hỏi không phải là một sự thay thế cho việc đọc tài liệu. 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: Hãy bắt đầu nào! ✨ 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; 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.
1.num = []
2.num = []
3 để so sánh chúng.num = []
🔹 Sử dụng dấu ngoặc vuông
Ví dụ:
num = []
Danh sách trống sẽ có độ dài
num = []
4, 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
num = []
5 trong bối cảnh Boolean:falsy values, which means that they evaluate to num = []
5 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
num = []
6 và num = []
7:
6 thêm phần tử vào cuối danh sách.num = []
7 Thêm phần tử vào chỉ mục cụ thể của danh sách mà bạn chọn.num = []
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
0, vì vậy mệnh đề IF được thực thi.>>> num = [] >>> len[num] 0
- Nếu danh sách trống, nó sẽ đánh giá thành
5, do đó mệnh đề khác được thực thi.num = []
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
>>> num = []
>>> len[num]
0
2. 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;
>>> num
[3, 5, 7, 9, 11, 13]
Mẹo: Chúng tôi thường sử dụng
6 để 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 num = []
7 với INDEX num = []
4: We commonly use num = []
num = []
6 to add the first element to an empty list, but you can also add this element calling the num = []
7 method with index num = []
4:In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
0🔸 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 hàm tạo loại
num = []
2, 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,1.num = []
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
num = []
2, 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 num = []
2, an empty list will be created.Ví dụ:
In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
1Danh sách trống sẽ có độ dài
num = []
4, như bạn có thể thấy ngay tại đây:In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
2Danh sách trống là các giá trị giả, có nghĩa là chúng đánh giá thành
num = []
5 trong bối cảnh Boolean:falsy value when it is empty [it evaluates to num = []
5 in a boolean context]:In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
3Example:
Thêm các yếu tố vào một danh sách trống
In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
4Bạ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
num = []
6 và num = []
7:>>> num
[3, 5, 7, 9, 11, 13]
Các trường hợp sử dụng
- Chúng tôi thường sử dụng
2 để 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.num = []
- Bạn thường thấy dấu ngoặc vuông
1 đ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.num = []
Hiệu quả
Chờ đợi! Tôi chỉ nói với bạn rằng
num = []
1 nhanh hơn ____ 32 ...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ó:
In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
6Cụ 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:
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.
In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
6Sau đó, chúng tôi bắt đầu kiểm tra từng cú pháp.
Kiểm tra num = []
1:
num = []
In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
8Kiểm tra num = []
2:
num = []
In [53]: x = np.empty[[2,2],int]
In [54]: x
Out[54]:
array[[[73096208, 10273248],
[ 2, -1]]]
9Mẹ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
7 hoặc trích dẫn kép >>> num = []
>>> bool[num]
False
8. Thời gian được trả về bởi hàm >>> num = []
>>> bool[num]
False
3 đượ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 = []
>>> num = []
>>> bool[num]
False
7 or double quotes >>> num = []
>>> bool[num]
False
8. The time returned by the num = []
3 function is expressed in seconds.So sánh các kết quả này:
1:num = []
1if num: print["This list is not empty"] else: print["This list is empty"]
2:num = []
3if num: print["This list is not empty"] else: print["This list is empty"]
Bạn có thể thấy rằng
num = []
1 nhanh hơn nhiều so với num = []
2. Có sự khác biệt khoảng if num:
print["This list is not empty"]
else:
print["This list is empty"]
6 giây trong thử nghiệm này:In [55]: np.append[x, np.array[[1,2]], axis=0]
---------------------------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 np.append[x, np.array[[1,2]], axis=0]
in append[*args, **kwargs]
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py in append[arr, values, axis]
4691 values = ravel[values]
4692 axis = arr.ndim-1
-> 4693 return concatenate[[arr, values], axis=axis]
4694
4695
in concatenate[*args, **kwargs]
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension[s] and the array at index 1 has 1 dimension[s]
0Tôi chắc chắn rằng bạn phải hỏi điều này ngay bây giờ: Tại sao
2 kém hiệu quả hơn num = []
1 nếu họ làm chính xác điều tương tự?Why is num = []
num = []
2 less efficient than num = []
1 if they do exactly the same thing?Chà ...
num = []
2 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, num = []
1 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
num = []
1 hoặc hàm tạo loại num = []
2, 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.Giá đỡ vuông
num = []
1 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