Mô-đun này xác định một loại đối tượng có thể biểu diễn gọn một mảng các giá trị cơ bản. ký tự, số nguyên, số dấu phẩy động. Mảng là kiểu dãy và hoạt động rất giống với danh sách, ngoại trừ kiểu đối tượng được lưu trữ trong chúng bị hạn chế. Loại được chỉ định tại thời điểm tạo đối tượng bằng cách sử dụng mã loại, là một ký tự đơn. Các loại mã sau đây được xác định
loại mã
Loại C
Loại trăn
Kích thước tối thiểu tính bằng byte
ghi chú
'b'
ký tự
int
1
'B'
ký tự không dấu
int
1
'u'
wchar_t
Ký tự Unicode
2
[1]
'h'
ký tắt
int
2
'H'
ngắn không dấu
int
2
'i'
ký int
int
2
'I'
int không dấu
int
2
________số 8
ký dài
int
4
array
0
không dấu dài
int
4
array
1
đã ký lâu dài
int
8
array
2
không dấu lâu dài
int
8
array
3
trôi nổi
trôi nổi
4
array
4
kép
trôi nổi
8
ghi chú
Nó có thể là 16 bit hoặc 32 bit tùy thuộc vào nền tảng
Đã thay đổi trong phiên bản 3. 9.
array
5 hiện sử dụngarray
6 làm loại C thay vìarray
7 không dùng nữa. Thay đổi này không ảnh hưởng đến hành vi của nó vìarray
7 là bí danh củaarray
6 kể từ Python 3. 3.Không dùng nữa kể từ phiên bản 3. 3, sẽ bị xóa trong phiên bản 4. 0
Biểu diễn thực tế của các giá trị được xác định bởi kiến trúc máy [nói đúng ra là do triển khai C]. Kích thước thực tế có thể được truy cập thông qua thuộc tính 'b'
0
Mô-đun xác định loại sau
lớp mảng. mảng[typecode[ , trình khởi tạo]]¶Một mảng mới có các mục bị hạn chế bởi mã loại và được khởi tạo từ giá trị khởi tạo tùy chọn, phải là một danh sách, một đối tượng giống như byte, or iterable over elements of the appropriate type.
Nếu được cung cấp một danh sách hoặc chuỗi, trình khởi tạo được chuyển đến phương thức 'b'
1, 'b'
2 hoặc 'b'
3 của mảng mới [xem bên dưới] để thêm các phần tử ban đầu vào mảng. Mặt khác, trình khởi tạo lặp lại được chuyển đến phương thức 'b'
4
Tăng sự kiện kiểm tra 'b'
5 với các đối số 'b'
6, 'b'
7.
Một chuỗi với tất cả các mã loại có sẵn
Các đối tượng mảng hỗ trợ các hoạt động tuần tự thông thường của lập chỉ mục, cắt, nối và nhân. Khi sử dụng phép gán lát, giá trị được gán phải là một đối tượng mảng có cùng mã loại; . Các đối tượng mảng cũng triển khai giao diện bộ đệm và có thể được sử dụng ở bất cứ nơi nào các đối tượng giống như byte được hỗ trợ.
Các mục dữ liệu và phương pháp sau đây cũng được hỗ trợ
mảng. mã loại¶Ký tự mã loại được sử dụng để tạo mảng
mảng. kích thước mặt hàng¶Độ dài tính bằng byte của một mục mảng trong biểu diễn bên trong
mảng. chắp thêm[x]¶Nối một mục mới có giá trị x vào cuối mảng
mảng. buffer_info[]¶Trả về một tuple 'b'
9 cung cấp địa chỉ bộ nhớ hiện tại và độ dài trong các phần tử của bộ đệm được sử dụng để chứa nội dung của mảng. Kích thước của bộ nhớ đệm theo byte có thể được tính là 'B'
0. Điều này đôi khi hữu ích khi làm việc với các giao diện I/O cấp thấp [và vốn không an toàn] yêu cầu địa chỉ bộ nhớ, chẳng hạn như một số hoạt động 'B'
1. Các số được trả về có giá trị miễn là mảng tồn tại và không có thao tác thay đổi độ dài nào được áp dụng cho nó
Ghi chú
Khi sử dụng các đối tượng mảng từ mã được viết bằng C hoặc C++ [cách duy nhất để sử dụng thông tin này một cách hiệu quả], sẽ hợp lý hơn khi sử dụng giao diện bộ đệm được hỗ trợ bởi các đối tượng mảng. Phương pháp này được duy trì để tương thích ngược và nên tránh trong mã mới. Giao diện bộ đệm được ghi lại trong Giao thức bộ đệm .
mảng. hoán đổi byte[]¶“Hoán đổi byte” tất cả các mục của mảng. Điều này chỉ được hỗ trợ cho các giá trị có kích thước 1, 2, 4 hoặc 8 byte; . Nó rất hữu ích khi đọc dữ liệu từ một tệp được ghi trên máy có thứ tự byte khác
Trả về số lần xuất hiện của x trong mảng
mảng. mở rộng[có thể lặp lại]¶Nối các mục từ iterable vào cuối mảng. Nếu iterable là một mảng khác, thì nó phải có cùng mã loại; . Nếu iterable không phải là một mảng, thì nó phải là iterable và các phần tử của nó phải đúng loại để được thêm vào mảng
mảng. từ byte[s]¶Nối thêm các mục từ chuỗi, diễn giải chuỗi dưới dạng một mảng các giá trị máy [như thể nó đã được đọc từ một tệp bằng phương thức 'B'
4]
Mới trong phiên bản 3. 2. ______25 được đổi tên thành 'b'
2 cho rõ ràng.
Đọc n mục [dưới dạng giá trị máy] từ đối tượng tệp f và nối chúng vào cuối mảng. Nếu có ít hơn n phần tử, 'B'
7 được nâng lên, nhưng các phần tử có sẵn vẫn được chèn vào mảng.
Nối các mục từ danh sách. Điều này tương đương với 'B'
8 ngoại trừ nếu có lỗi kiểu, mảng sẽ không thay đổi
Mở rộng mảng này với dữ liệu từ chuỗi unicode đã cho. Mảng phải là mảng kiểu 'u'
; . Sử dụng 'u'
1 để nối dữ liệu Unicode vào một mảng thuộc loại khác
Trả về i nhỏ nhất sao cho i là chỉ số của lần xuất hiện đầu tiên của x trong mảng. Các đối số tùy chọn bắt đầu và dừng có thể được chỉ định để tìm kiếm x trong phần con của mảng. Tăng 'u'
0 nếu không tìm thấy x
Đã thay đổi trong phiên bản 3. 10. Đã thêm tham số bắt đầu và dừng tùy chọn.
mảng. insert[i , x]¶Chèn một mục mới có giá trị x vào mảng trước vị trí i. Các giá trị âm được coi là có liên quan đến phần cuối của mảng
mảng. pop[[i]]¶Loại bỏ mục có chỉ số i khỏi mảng và trả về nó. Đối số tùy chọn mặc định là 'u'
3, do đó, theo mặc định, mục cuối cùng được xóa và trả lại
Xóa lần xuất hiện đầu tiên của x khỏi mảng
mảng. đảo ngược[]¶Đảo ngược thứ tự các phần tử trong mảng
mảng. tobyte[]¶Chuyển đổi mảng thành một mảng các giá trị máy và trả về biểu diễn byte [cùng một chuỗi byte sẽ được ghi vào tệp bằng phương thức 'u'
4. ]
Mới trong phiên bản 3. 2. ______35 được đổi tên thành 'u'
6 cho rõ ràng.
Ghi tất cả các mục [dưới dạng giá trị máy] vào đối tượng tệp f.
mảng. tolist[]¶Chuyển đổi mảng thành một danh sách bình thường với các mục giống nhau
mảng. tounicode[]¶Chuyển đổi mảng thành chuỗi unicode. Mảng phải là mảng kiểu 'u'
; . Sử dụng 'u'
9 để lấy chuỗi unicode từ một mảng thuộc loại khác
Khi một đối tượng mảng được in hoặc chuyển đổi thành một chuỗi, nó được biểu diễn dưới dạng 'h'
0. Trình khởi tạo được bỏ qua nếu mảng trống, nếu không thì nó là một chuỗi nếu mã kiểu là 'u'
, nếu không thì nó là một danh sách các số. Chuỗi được đảm bảo có thể được chuyển đổi trở lại một mảng có cùng loại và giá trị bằng cách sử dụng 'h'
2, miễn là lớp array
đã được nhập bằng cách sử dụng 'h'
4. ví dụ
array['l'] array['u', 'hello \u2641'] array['l', [1, 2, 3, 4, 5]] array['d', [1.0, 2.0, 3.14]]
Xem thêm
Mô-đun'h'
5Đóng gói và giải nén dữ liệu nhị phân không đồng nhất
Mô-đun'h'
6Đóng gói và giải nén dữ liệu Biểu diễn dữ liệu ngoài [XDR] như được sử dụng trong một số hệ thống gọi thủ tục từ xa