1. Truy cập phần tử của Tuple trong Python

Khi làm việc với kiểu Tuple trong Python, bạn có thể chọn ra nhiều phần tử có trong Tuple bằng cách truy cập vào chỉ mục của Tuple đó. Chỉ mục của một Tuple là dãy số tự nhiên bắt đầu từ chỉ số 0, 1, 2 ,3 …

Ví dụ dưới đây lấy ra phần tử đầu tiên trong Tuple , bằng cách truy cập vào chỉ mục 0 của Tuple:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Lay ra phan tu dau tien cua tuple
print(tupleA[0])

Kết quả:

oto
Python cũng cho phép lấy phần tử trong Tuple với chỉ mục âm, ví dụ lấy chỉ mục -1 (phần tử cuối cùng) trong Tuple sẽ như sau:
# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Lay ra phan tu tai chi muc -1
print(tupleA[-1])

Kết quả:

xe dap

Ta có thể ngầm hiểu cách biểu diễn chỉ mục trong một Tuple trong Python như sau:

Nếu như ta cần lấy ra một khoảng các phần tử trong Tuple, ta chỉ cần sử dụng chỉ mục bắt đầu và chỉ mục kết thúc thông qua dấu phân cách hai chấm “:” như sau:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Lay ra phan tu tu vi tri 2 den vi tri 4 trong tuple
print(tupleA[2:4])

Kết quả:

(‘may bay’, ‘tau dien’)

Chú ý: Vị trí của phần tử bắt đầu chọn trong Tuplesẽ được lấy vào kết quả, tuy nhiên phần tử được chọn ở vị trí kết thúc lại không được thêm vào kết quả. Vì vậy, ở ví dụ trên khi ta chọn ra các phần tử trong Tuple từ vị trí 2 đến vị trí 4 trong Tuple ta nhận được kết quả trên!

2. Kiểm tra phần tử có thuộc Tuple trong Python

Tương tự như đối với kiểu List trong Python, khi sử dụng kiểu Tuple để thực hiển kiểm tra phần tử có thuộc trong một Tuple hay không, ta cần sử dụng từ khóa “in” như sau:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Neu phan tu "may bay" thuoc tuple 
if "may bay" in tupleA:
    # Hien thi thong bao
    print("Phan tu thuoc tuple")

Kết quả:

Phan tu thuoc tuple

Trong trường hợp cần kiểm tra một phần tử có KHÔNG thuộc trong một Tuple hay không, ta cần sử dụng từ khóa “not in” như sau:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Neu phan tu "tau hoa" khong thuoc tuple 
if "tau hoa" not in tupleA:
    # Hien thi thong bao
    print("Phan tu khong thuoc tuple")

Kết quả:

Phan tu khong thuoc tuple

3. Thay đổi và thêm phần tử vào Tuple trong Python

3.1 Thay đổi phần tử thuộc Tuple trong Python

Khi một Tuple được tạo ra, bạn không thể thay đổi các giá trị của nó. Bởi kiểu Tuple trong Python là kiểu dữ liệu có tính bất biến.

Thế nhưng vẫn có một cách giải quyết khi bạn thực sự cần thay đổi các phần tử trong Tuple. Đó là, bạn có thể chuyển đổi Tuple thành một kiểu List trong Python, sau đó sử sử dụng List để thay đổi các phần tử và cuối cùng chuyển đổi lại kiểu List về thành kiểu Tuple.

Ví dụ dưới đây chuyển một Tuple sang kiểu List để thay đổi giá trị cho phần tử có chỉ mục 0 bằng giá trị “xe hoi” trong Tuple như sau:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Hien thi gia tri ban dau cua phan tu tupleA[0]
print("Gia tri ban dau tuple[0]: {0}".format(tupleA[0]))

# Chuyen doi kieu tuple sang list 
listA = list(tupleA)

# Thay doi phan tu dau tien cua tuple thong qua list
listA[0] = "xe hoi"

# Chuyen doi lai tu kieu list sang tuple
tupleA = tuple(listA)

# Hien thi tuple sau khi thay doi phan tu
print("Gia tri thay doi tuple[0]: {0}".format(tupleA[0]))
print(tupleA)

Kết quả:

Gia tri ban dau tuple[0]: oto
Gia tri thay doi tuple[0]: xe hoi
(‘xe hoi’, ‘xe may’, ‘may bay’, ‘tau dien’, ‘xe dap’)

3.2 Thêm phần tử vào Tuple trong Python

Đối với kiểu Tuple không tồn tại phương thức append() để thêm phần tử (Bởi tính bất biến của kiểu Tuple). Thế nhưng vẫn tồn tại hai cách để thêm phần tử vào trong Tuple.

Cách đầu tiên, chuyển đổi kiểu Tuple sang kiểu List sau đó sử dụng hàm append() để thêm phần tử như sau:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Hien thi tuple ban dau
print("Tuple ban dau")
print(tupleA)

# Chuyen doi kieu tuple sang list 
listA = list(tupleA)

# Them phan tu "xe hoi" vao listA bang phuong thuc append()
listA.append("xe hoi")

# Chuyen doi lai tu kieu list sang tuple
tupleA = tuple(listA)

# Hien thi tuple sau khi them phan tu
print("Tuple sau khi them phan tu ")
print(tupleA)

Kết quả:

Tuple ban dau
(‘oto’, ‘xe may’, ‘may bay’, ‘tau dien’, ‘xe dap’)
Tuple sau khi them phan tu
(‘oto’, ‘xe may’, ‘may bay’, ‘tau dien’, ‘xe dap’, ‘xe hoi’)

Cách thứ hai, nối một Tuple có phần tử mới cần thêm vào một Tuple có trước để thêm phần tử như sau:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Hien thi tuple ban dau
print("Tuple ban dau")
print(tupleA)

# Tao tupleB co phan tu can them vao tupleA
tupleB = ("xe hoi",)

# Noi tupleB vao sau tupleA
tupleA = tupleA + tupleB

# Hien thi tupleA sau khi noi them tupleB
print("Tuple sau khi them phan tu ")
print(tupleA)

Kết quả:

Tuple ban dau
(‘oto’, ‘xe may’, ‘may bay’, ‘tau dien’, ‘xe dap’)
Tuple sau khi them phan tu
(‘oto’, ‘xe may’, ‘may bay’, ‘tau dien’, ‘xe dap’, ‘xe hoi’)

Chú ý: Khi tạo một Tuple với một phần tử, hãy nhớ thêm dấu phẩy sau phần tử đó, nếu không, nó sẽ không được xác định là một Tuple. Ví dụ tupleB = ("xe hoi",)

4. Xóa phần tử thuộc Tuple trong Python

Tuple là không thể thay đổi, vì vậy bạn không thể xóa các phần tử khỏi nó, nhưng bạn có thể sử dụng các giải pháp mà chúng ta đã từng để cập những phần bên trên để cập nhật, thêm phần tử và đến phần này là xóa phần tử trong Tuple

Giải pháp đó là, ta cũng có thể chuyển đổi kiểu Tuple sang kiểu List sau đó sử dụng hàm remove() để xóa phần tử như sau:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Hien thi tuple ban dau
print("Tuple ban dau")
print(tupleA)

# Chuyen doi kieu tuple sang list 
listA = list(tupleA)

# Xoa phan tu "may bay" trong listA bang phuong thuc remove()
listA.remove("may bay")

# Chuyen doi lai tu kieu list sang tuple
tupleA = tuple(listA)

# Hien thi tuple sau khi xoa phan tu
print("Tuple sau khi xoa phan tu ")
print(tupleA)

Kết quả:

Tuple ban dau
(‘oto’, ‘xe may’, ‘may bay’, ‘tau dien’, ‘xe dap’)
Tuple sau khi xoa phan tu
(‘oto’, ‘xe may’, ‘tau dien’, ‘xe dap’)

Hay để xóa toàn bộ phần tử có trong Tuple, ta chỉ cần sử dụng từ khóa del có sẵn trong Python như sau:

# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Hien thi tuple ban dau
print("Tuple ban dau")
print(tupleA)

# Xoa tat ca phan tu bang tu khoa del
del tupleA

# Hien thi tuple sau khi xoa tat ca phan tu
print("Tuple sau khi xoa tat ca phan tu ")
print(tupleA) #name 'tupleA' is not defined

Kết quả:

NameError: name ‘tupleA’ is not defined

Tồn tại lỗi trên bởi vì, từ khóa del đã xóa bao gồm cả tất cả phần tử trong tupleA và xóa luôn cả biến tupleA, vì vậy tupleA không tồn tại trong chương trình nữa và gây ra lỗi “NameError: name ‘tupleA’ is not defined” khi thực thi câu lệnh print(tupleA)