Tuples trong Python là gì - Khám phá thông tin về Tuples trong Python
24/08/2022 01:58
Một bộ tuple là một tập hợp các đối tượng có thứ tự và bất biến. Tuples là các chuỗi, giống như danh sách. Sự khác biệt giữa bộ giá trị và danh sách là, bộ giá trị không thể thay đổi không giống như danh sách và bộ giá trị sử dụng dấu ngoặc đơn, trong khi danh sách sử dụng dấu ngoặc vuông.
Một bộ tuple là một tập hợp các đối tượng có thứ tự và bất biến. Tuples là các chuỗi, giống như danh sách. Sự khác biệt giữa bộ giá trị và danh sách là, bộ giá trị không thể thay đổi không giống như danh sách và bộ giá trị sử dụng dấu ngoặc đơn, trong khi danh sách sử dụng dấu ngoặc vuông.
Việc tạo một bộ giá trị cũng đơn giản như đặt các giá trị được phân tách bằng dấu phẩy khác nhau. Theo tùy chọn, bạn cũng có thể đặt các giá trị được phân tách bằng dấu phẩy này giữa các dấu ngoặc đơn. Ví dụ -
tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a", "b", "c", "d";
Bộ giá trị trống được viết dưới dạng hai dấu ngoặc đơn không chứa gì -
tup1 = ();
Để viết một bộ giá trị chứa một giá trị duy nhất, bạn phải bao gồm dấu phẩy, mặc dù chỉ có một giá trị -
tup1 = (50,);
Giống như chỉ số chuỗi, chỉ số bộ bắt đầu từ 0 và chúng có thể được cắt, nối, v.v.
Truy cập giá trị trong Tuples
Để truy cập các giá trị trong bộ tuple, hãy sử dụng dấu ngoặc vuông để cắt cùng với chỉ mục hoặc các chỉ mục để lấy giá trị có sẵn tại chỉ mục đó. Ví dụ:\
#!/usr/bin/python
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# Following action is not valid for tuples
# tup1[0] = 100;
# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:
(12, 34.56, 'abc', 'xyz')
Xóa phần tử Tuple
Không thể xóa các phần tử tuple riêng lẻ. Tất nhiên, không có gì sai khi kết hợp một bộ dữ liệu khác với các phần tử không mong muốn bị loại bỏ.
Để loại bỏ toàn bộ một bộ giá trị một cách rõ ràng, chỉ cần sử dụng câu lệnh del . Ví dụ:
#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : ";
print tup;
Điều này tạo ra kết quả sau. Lưu ý rằng một ngoại lệ được nêu ra, điều này là do sau khi del tup tuple không tồn tại nữa:
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
Hoạt động Tuples cơ bản
Tuples phản hồi các toán tử + và * giống như các chuỗi; chúng cũng có nghĩa là nối và lặp lại ở đây, ngoại trừ kết quả là một bộ giá trị mới, không phải một chuỗi.
Trên thực tế, các bộ giá trị đáp ứng tất cả các hoạt động trình tự chung mà chúng tôi đã sử dụng trên các chuỗi trong chương trước -
Biểu thức Python | Kết quả | Sự mô tả |
---|---|---|
len ((1, 2, 3)) | 3 | Chiều dài |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | Sự kết hợp |
('Xin chào!',) * 4 | ("Xin chào!", "Xin chào!", "Xin chào!", "Xin chào!") | Sự lặp lại |
3 trong (1, 2, 3) | ĐÚNG VẬY | Tư cách thành viên |
for x in (1, 2, 3): print x, | 1 2 3 | Lặp lại |
Lập chỉ mục, Slicing và Ma trận
Bởi vì các bộ giá trị là các chuỗi, việc lập chỉ mục và phân loại hoạt động theo cùng một cách đối với các bộ giá trị cũng như cách chúng làm đối với các chuỗi. Giả sử đầu vào sau -
L = ('spam', 'Spam', 'SPAM!')
Biểu thức Python | Kết quả | Sự mô tả |
---|---|---|
L [2] | 'THƯ RÁC!' | Offsets bắt đầu từ 0 |
L [-2] | 'Thư rác' | Phủ định: đếm từ bên phải |
L [1:] | ['Spam', 'SPAM!'] | Slicing tìm nạp các phần |
Không có dấu phân cách bao quanh
Bất kỳ tập hợp nhiều đối tượng, được phân tách bằng dấu phẩy, được viết mà không có ký hiệu xác định, tức là dấu ngoặc cho danh sách, dấu ngoặc cho bộ giá trị, v.v., mặc định là bộ giá trị, như được chỉ ra trong các ví dụ ngắn này:
#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:
abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2
Chức năng Tuple tích hợp
Python bao gồm các hàm tuple sau:
Sr.No. | Chức năng với Mô tả |
---|---|
1 | cmp (tuple1, tuple2)
So sánh các phần tử của cả hai bộ giá trị. |
2 | len (tuple)
Cung cấp tổng chiều dài của tuple. |
3 | max (tuple)
Trả về mục từ bộ giá trị lớn nhất. |
4 | min (tuple)
Trả về mục từ bộ giá trị nhỏ nhất. |
5 | tuple (seq)
Chuyển đổi danh sách thành bộ dữ liệu. |