Khai báo mảng rỗng trong python
Để thêm vào câu trả lời của Lennart, một mảng có thể được tạo như thế này:
trong đó các giá trị có thể ở dạng một tuple, list hoặc np.array, nhưng không phải là mảng:
và đầu ra vẫn sẽ giống nhau:
Hầu hết các phương thức cho danh sách cũng hoạt động với mảng, các phương thức phổ biến là pop (), extend () và append (). Đánh giá từ các câu trả lời và nhận xét, có vẻ như cấu trúc dữ liệu mảng không phổ biến. Mặc dù vậy, tôi thích nó, giống như cách người ta có thể thích một tuple trong danh sách. Cấu trúc mảng có các quy tắc chặt chẽ hơn so với danh sách hoặc np.array và điều này có thể giảm lỗi và giúp gỡ lỗi dễ dàng hơn, đặc biệt là khi làm việc với dữ liệu số. Nỗ lực chèn / nối một float vào một mảng int sẽ ném TypeError:
Do đó, việc giữ các giá trị có nghĩa là số nguyên (ví dụ: danh sách các chỉ mục) ở dạng mảng có thể ngăn "Chỉ số danh sách TypeError: phải là số nguyên, không nổi", vì các mảng có thể được lặp lại, tương tự như np.array và danh sách:
Khó chịu, việc thêm một int vào một mảng float sẽ khiến int trở thành một float, mà không đưa ra một ngoại lệ. np.array cũng giữ nguyên kiểu dữ liệu cho các mục nhập của nó, nhưng thay vì đưa ra lỗi, nó sẽ thay đổi kiểu dữ liệu để phù hợp với các mục mới (thường là gấp đôi hoặc str):
Điều này đúng trong quá trình chuyển nhượng là tốt. Nếu loại dữ liệu được chỉ định, np.array sẽ, bất cứ khi nào có thể, sẽ chuyển đổi các mục nhập thành loại dữ liệu đó:
hoặc, về bản chất:
trong khi mảng đơn giản sẽ cung cấp:
Bởi vì điều này, không nên sử dụng np.array cho các lệnh dành riêng cho loại. Cấu trúc mảng rất hữu ích ở đây. danh sách bảo tồn kiểu dữ liệu của các giá trị. Và đối với một cái gì đó tôi thấy khá phiền phức: kiểu dữ liệu được chỉ định làm đối số đầu tiên trong mảng (), nhưng (thường) là thứ hai trong np.array (). : | Mối quan hệ với C được đề cập ở đây: Danh sách Python so với Mảng - khi nào nên sử dụng? Hãy vui vẻ khám phá! Lưu ý: Bản chất được gõ và khá nghiêm ngặt của mảng dựa nhiều vào C hơn là Python và theo thiết kế Python không có nhiều ràng buộc về kiểu cụ thể trong các hàm của nó. Sự phổ biến của nó cũng tạo ra một phản hồi tích cực trong công việc cộng tác và thay thế nó chủ yếu liên quan đến một [int (x) bổ sung cho x trong tệp]. Do đó, hoàn toàn khả thi và hợp lý để bỏ qua sự tồn tại của mảng. Nó không nên cản trở hầu hết chúng ta bằng mọi cách. : D 10 hữu ích 0 bình luận chia sẻ |