Sử dụng mô -đun mảng. Với nó, bạn có thể lưu trữ các bộ sưu tập cùng loại một cách hiệu quả.
>>> import array
>>> import itertools
>>> a = array_of_signed_ints = array.array["i", itertools.repeat[0, 10]]
Để biết thêm thông tin - ví dụ: Các loại khác nhau, nhìn vào tài liệu của mô -đun mảng. Đối với tối đa 1 triệu mục, điều này sẽ cảm thấy khá linh hoạt. Đối với 10 triệu mục nhập máy địa phương của tôi suy nghĩ trong 1,5 giây.
Tham số thứ hai để mảng .Array là một trình tạo, xây dựng chuỗi được xác định khi nó được đọc. Bằng cách này, mô-đun mảng có thể tiêu thụ từng số không, nhưng trình tạo chỉ sử dụng bộ nhớ không đổi. Trình tạo này không nhận được lớn hơn [khôn ngoan bộ nhớ] nếu chuỗi sẽ dài hơn. Các mảng sẽ phát triển tất nhiên, nhưng điều đó là rõ ràng.
Bạn sử dụng nó giống như một danh sách:
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
... hoặc đơn giản là chuyển đổi nó thành một danh sách:
>>> l = list[a]
>>> len[l]
14
Thật ngạc nhiên
>>> a = [0] * 10000000
nhanh hơn trong xây dựng so với phương pháp mảng. Đi hình! :]
Lưu ý: Khi mọi người nói các mảng trong Python, thường xuyên hơn không, họ đang nói về danh sách Python. Nếu đó là trường hợp, hãy truy cập hướng dẫn danh sách Python. When people say arrays in Python, more often than not, they are talking about Python lists. If that's the case, visit the Python list tutorial.
Trong hướng dẫn này, chúng tôi sẽ tập trung vào một mô -đun có tên
>>> l = list[a]
>>> len[l]
14
3. Mô -đun >>> l = list[a]
>>> len[l]
14
3 cho phép chúng tôi lưu trữ một bộ sưu tập các giá trị số.Tạo mảng Python
Để tạo một mảng các giá trị số, chúng ta cần nhập mô -đun
>>> l = list[a]
>>> len[l]
14
3. Ví dụ:import array as arr
a = arr.array['d', [1.1, 3.5, 4.5]]
print[a]
Đầu ra
array['d', [1.1, 3.5, 4.5]]
Ở đây, chúng tôi đã tạo một mảng loại
>>> l = list[a]
>>> len[l]
14
6. Chữ >>> l = list[a]
>>> len[l]
14
7 là một mã loại. Điều này xác định loại mảng trong quá trình tạo.Mã loại thường được sử dụng được liệt kê như sau:
8 | Đã ký char | int | 1 |
9 | Char không dấu | int | 1 |
9 | Char không dấu | 0 | 2 |
Py_unicode | Unicode | int | 2 |
9 | Char không dấu | int | 2 |
9 | Char không dấu | int | 2 |
9 | Char không dấu | int | 2 |
9 | Char không dấu | int | 4 |
9 | Char không dấu | int | 4 |
9 | Char không dấu | Char không dấu | 4 |
0 | Py_unicode | Char không dấu | 8 |
>>> a = [0] * 10000000
0Py_unicode: The
>>> a = [0] * 10000000
0 type code for Unicode characters is deprecated since version 3.3. Avoid using as much as possible.Unicode
>>> a = [0] * 10000000
1import array as arr
a = arr.array['i', [2, 4, 6, 8]]
print["First element:", a[0]]
print["Second element:", a[1]]
print["Last element:", a[-1]]
Đầu ra
First element: 2 Second element: 4 Last element: 8
đã ký ngắn: The index starts from 0 [not 1] similar to lists.
>>> a = [0] * 10000000
2
>>> a = [0] * 10000000
không dấu ngắn
import array as arr
numbers_list = [2, 5, 62, 5, 42, 52, 48, 5]
numbers_array = arr.array['i', numbers_list]
print[numbers_array[2:5]] # 3rd to 5th
print[numbers_array[:-5]] # beginning to 4th
print[numbers_array[5:]] # 6th to end
print[numbers_array[:]] # beginning to end
Đầu ra
array['i', [62, 5, 42]] array['i', [2, 5, 62]] array['i', [52, 48, 5]] array['i', [2, 5, 62, 5, 42, 52, 48, 5]]
>>> a = [0] * 10000000
3
>>> a = [0] * 10000000
Đã ký int
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
0Đầu ra
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
1>>> a = [0] * 10000000
4>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
2Đầu ra
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
3Int không dấu
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
4Đầu ra
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
5>>> a = [0] * 10000000
5
>>> a = [0] * 10000000
ký tên dài
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
6Đầu ra
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
7>>> a = [0] * 10000000
6>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
8Đầu ra
>>> a.append[1]
>>> a.extend[[1, 2, 3]]
>>> a[-4:]
array['i', [1, 1, 2, 3]]
>>> len[a]
14
9không dấu dài
>>> a = [0] * 10000000
7
>>> a = [0] * 10000000
trôi nổi
>>> l = list[a]
>>> len[l]
14
0>>> l = list[a]
>>> len[l]
14
7>>> l = list[a]
>>> len[l]
14
1Đầu ra
>>> l = list[a]
>>> len[l]
14
2kép
Chúng tôi sẽ không thảo luận về các loại C khác nhau trong bài viết này. Chúng tôi sẽ sử dụng hai mã loại trong toàn bộ bài viết này:
>>> a = [0] * 10000000
3 cho số nguyên và >>> l = list[a]
>>> len[l]
14
7 cho phao.Lưu ý: Mã loại
>>> a = [0] * 10000000
0 cho các ký tự Unicode được dùng hết kể từ phiên bản 3.3. Tránh sử dụng càng nhiều càng tốt.Truy cập các yếu tố mảng Python
Chúng tôi sử dụng các chỉ số để truy cập các yếu tố của một mảng: