(+84) 236.3827111 ex. 402

Các hoạt động trên tuple trong Python


Các hoạt động cơ bản trên tuple trong Python

Giống như String và List, bạn cũng có thể sử dụng toán tử nối + và toán tử lặp * với tuple. Điểm khác biệt là nó tạo ra một tuple mới, không tạo ra một chuỗi hay list.

Ví dụ cho toán tử +:

data1=(1,2,3,4)
data2=('x','y','z')
data3=data1+data2
print data1
print data2
print data3

Kết quả là:

>>> 
(1, 2, 3, 4)
('x', 'y', 'z')
(1, 2, 3, 4, 'x', 'y', 'z')
>>>

Ghi chú: Dãy mới được tạo là một Tuple mới.

Ví dụ cho toán tử +:

tuple1=(10,20,30);
tuple2=(40,50,60);
print tuple1*2
print tuple2*3

Kết quả là:

>>> 
(10, 20, 30, 10, 20, 30)
(40, 50, 60, 40, 50, 60, 40, 50, 60)
>>>

Xóa các phần tử của tuple trong Python

Xóa các phần tử đơn của tuple là điều không thể. Bạn chỉ có thể xóa toàn bộ tuple với lệnh del như ví dụ sau:

data=(10,20,'hoang',40.6,'z')
print data
del data      #se xoa du lieu cua tuple
print data	#se hien thi mot error boi vi tuple da bi xoa

Code trên sẽ cho kết quả sau. Bạn chú ý rằng sẽ có một exception được tạo ra, đó là bởi vì sau khi xóa tup thì tuple này không tồn tại nữa.

>>> 
(10, 20, 'hoang', 40.6, 'z')
Traceback (most recent call last):
  	File "C:/Python27/t.py", line 4, in >module<
    	print data
NameError: name 'data' is not defined
>>>

Cập nhật phần tử trong tuple trong Python

Các phần tử của Tuple không thể được cập nhật. Đó là bởi vì tuple là không thay đổi (immutable). Tuy nhiên, các tuple có thể được sử dụng để tạo nên một tuple mới.

Ví dụ sau sẽ tạo một exception:

data=(10,20,30)
data[0]=100
print data

Khi code trên được thực thi sẽ cho kết quả:

>>> 
Traceback (most recent call last):
 	 File "C:/Python27/t.py", line 2, in >module<
    	data[0]=100
TypeError: 'tuple' object does not support item assignment
>>>

Ví dụ tạo một tuple mới từ các tuple đang tồn tại:

data1=(10,20,30)
data2=(40,50,60)
data3=data1+data2
print data3

Khi code trên được thực thi sẽ cho kết quả:

>>> 
(10, 20, 30, 40, 50, 60)
>>>

Tập hợp đối tượng mà không có dấu giới hạn

Bất kỳ tập hợp nào gồm nhiều đối tượng, được phân biệt bởi dấu phảy, được viết mà không có các biểu tượng nhận diện (chẳng hạn như dấu ngoặc vuông cho List, dấu ngoặc đơn cho Tuple, …) thì Python mặc định chúng là Tuple. Ví dụ:

 

print 'abc', -4.24e93, 18+6.6j, 'xyz'
x, y = 1, 2;
print "Gia tri cua x , y : ", x,y

Khi code trên được thực thi sẽ cho kết quả:

abc -4.24e+93 (18+6.6j) xyz
Gia tri cua x , y : 1 2

Các hàm được xây dựng sẵn cho tuple trong Python

Bảng dưới liệt kê các hàm đã được xây dựng sẵn để thao tác với Tuple trong Python, bạn theo link để tìm hiểu chi tiết:

STT Hàm và Miêu tả
1

Hàm cmp(tuple1, tuple2)


So sánh hai tuple với nhau
2

Hàm len(tuple)


Trả về độ dài của tuple
3

Hàm max(tuple)


Trả về item có giá trị lớn nhất từ một tuple đã cho
4

Hàm min(tuple)


Trả về item có giá trị nhỏ nhất từ một tuple đã cho
5

Hàm tuple(seq)


Chuyển đổi một dãy thành tuple