Hai phần trước chúng ta đã thảo luận về mảng Danh sách, trong phần này chúng ta sẽ thảo luận về mảng "xịn" trong Python.
Mảng "xịn" Python
Như chúng ta đã thảo luận, Python không có built-in support cho Mảng (Array), nhưng có thể sử dụng Danh sách (List) để thay thế. Nếu muốn sử dụng mảng "chính hiệu", chúng ta sẽ phải nhập một thư viện hoặc module.
Chúng ta sẽ thảo luận về module sau. Tạm thời chúng ta chấp nhận coi module như một loại thư viện, một bộ những hàm mà chúng ta muốn sử dụng.
Vẫn sử dụng IDE Online, chúng ta sẽ quay lại với mảng "không chính hiệu" trong phần trước của chúng ta.
cars = ["Toyota", "Honda", "BMW"]
print(cars)
Chạy chương trình
Bây giờ chúng ta sẽ tạo một mảng tương tự nhưng bằng cách import module array
Đây là cách chúng ta nhập module array.
import array as arr
cars = ["Toyota", "Honda", "BMW"]
print(cars)
Chạy chương trình
Ta sẽ sử dụng module array theo cú pháp array(data_type, value_list)
import array as arr
cars = ["Toyota", "Honda", "BMW"]
print(cars)
a = arr.array('u', ["Toyota", "Honda", "BMW"])
print(a)
Tuy nhiên khi chạy thử thì nhận báo lỗi
Chúng ta chỉ có một lựa chọn type code là u trong ví dụ này, tham khảo bảng sau
Ngoài kiểu dữ liệu ký tự Unicode character, còn lại đều là kiểu số. Chúng ta chỉ có thể tránh lỗi bằng cách sửa lại mảng trên thành mảng ký tự.
import array as arr
cars = ["Toyota", "Honda", "BMW"]
print(cars)
a = arr.array('u', ["T", "H", "B"])
print(a)
Chạy chương trình, kết quả thu được "dở khóc dở cười".
Tạm thời chúng ta sẽ gác "đồ xịn" nhưng không "ngon bổ rẻ" là module array qua một bên. Ta sẽ nhập thư viện numpy như sau
import array as arr
import numpy as np
cars = ["Toyota", "Honda", "BMW"]
print(cars)
a = arr.array('u', ["T", "H", "B"])
print(a)
Chạy chương trình
Tiếp theo chúng ta sẽ khai báo mảng và in thử ra màn hình
import array as arr
import numpy as np
cars = ["Toyota", "Honda", "BMW"]
print(cars)
a = arr.array('u', ["T", "H", "B"])
print(a)
arr = np.array(["Ford", "Nissan", "Tesla"])
print(arr)
Chạy chương trình. Mọi thứ đã ổn hơn.
Không có nhận xét nào:
Đăng nhận xét