Hot deal hosting vps vietnix tháng 2Hot deal hosting vps vietnix tháng 2
PHP
Python

Trang chủ

Các cách truy cập các phần tử của Tuple

Ngôn ngữ Python là một ngôn ngữ lập trình đa mục đích, nổi tiếng với cú pháp dễ đọc, dễ học và tính ứng dụng cao. Trong lĩnh vực phát triển web, Python thường được sử dụng thông qua các framework như Django và Flask để xây dựng các ứng dụng web mạnh mẽ, bảo mật và dễ mở rộng. Trong chuyên mục này, Vietnix không chỉ cung cấp kiến thức nền tảng về ngôn ngữ Python mà còn hướng dẫn chi tiết cách xây dựng các ứng dụng web thực tế, sử dụng các framework phổ biến và áp dụng các kỹ thuật tiên tiến. Vietnix cam kết liên tục cập nhật những bài viết mới nhất về các tính năng mới của Python, các thư viện hỗ trợ hữu ích và những phương pháp tốt nhất, giúp bạn khai thác tối đa sức mạnh của Python và hoàn thiện kỹ năng lập trình web của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
14/02/2025
11 phút đọc
Theo dõi Vietnix trên

Các cách truy cập các phần tử của Tuple

Tuple là một kiểu dữ liệu quan trọng trong Python, được sử dụng để lưu trữ các chuỗi phần tử không thể thay đổi. Việc truy cập các phần tử của Tuple là một thao tác cơ bản và cần thiết khi làm việc với kiểu dữ liệu này. Có nhiều phương pháp để thực hiện việc này, từ sử dụng chỉ số (indexing) cho đến toán tử slice. Để hiểu rõ hơn về các cách truy cập các phần tử của Tuple và ứng dụng trong thực tế, bạn đọc tiếp bài viết dưới đây.

Các điểm chính

Khi đọc xong bài viết, bạn sẽ:

  • Hiểu rõ bản chất của Tuple: Bạn sẽ nắm vững khái niệm Tuple là gì, đặc điểm khác biệt so với các cấu trúc dữ liệu khác trong Python (như List) và lý do tại sao Tuple lại quan trọng trong lập trình.
  • Làm chủ kỹ thuật Indexing: Bạn sẽ được hướng dẫn chi tiết cách sử dụng chỉ mục (Index) để truy cập vào từng phần tử cụ thể trong Tuple một cách chính xác và hiệu quả.
  • Biết cách khai thác chỉ mục âm: Bạn sẽ khám phá phương pháp sử dụng chỉ mục âm để truy cập các phần tử từ cuối Tuple trở về, mở rộng khả năng linh hoạt trong việc thao tác với dữ liệu.
  • Thành thạo kỹ thuật Slicing: Bạn sẽ học được cách sử dụng toán tử Slicing để tạo ra các Tuple con (sub-tuple) từ Tuple ban đầu, giúp trích xuất và làm việc với các nhóm phần tử theo nhu cầu.

Truy cập các phần tử của Tuple

Truy cập các phần tử của Tuple trong Python là hành động lấy ra giá trị của một hoặc nhiều phần tử cụ thể bên trong Tuple đó. Việc này giống như bạn có một hộp quà chứa nhiều món đồ, và bạn muốn lấy ra một món đồ cụ thể nào đó trong hộp.

Truy cập các phần tử của Tuple là thao tác lấy giá của một hoặc nhiều phần tử bên trong Tuple đó
Truy cập các phần tử của Tuple là thao tác lấy giá của một hoặc nhiều phần tử bên trong Tuple đó

Tại sao cần truy cập phần tử?

  • Lấy dữ liệu cần thiết: Bạn có thể chỉ quan tâm đến một phần thông tin trong Tuple, chứ không phải toàn bộ.
  • Thực hiện các thao tác: Bạn có thể cần lấy giá trị của phần tử để tính toán, so sánh, hoặc sử dụng trong các biểu thức khác.
  • Hiển thị dữ liệu: Bạn có thể muốn hiển thị một phần thông tin từ Tuple cho người dùng.
  • Các phần tử của Tuple có thứ tự, các phần tử có thứ tự nghĩa là các phần tử đó có chỉ số bắt đầu từ [0]

Truy cập các phần tử của tuple bằng Indexing

Mỗi phần tử trong một Tuple tương ứng với một chỉ mục. Chỉ mục bắt đầu từ 0 cho phần tử đầu tiên và tăng dần một đơn vị cho mỗi phần tử tiếp theo. Chỉ mục của phần tử cuối cùng trong Tuple luôn là “độ_dài - 1“, trong đó “độ_dài” là tổng số phần tử trong Tuple. Để truy cập các phần tử của Tuple, chúng ta chỉ cần chỉ định chỉ mục của phần tử cần truy cập/lấy ra, như minh họa dưới đây:

tuple[3] 

Dưới đây là ví dụ cơ bản để truy cập các phần tử của Tuple bằng chỉ mục:

sinh_vien = ("Hồng", "Toán", 20, 8.5)
so_nguyen = (1, 2, 3, 4, 5)

print("Phần tử ở chỉ mục 0 của sinh_vien: ", sinh_vien[0])
print("Phần tử ở chỉ mục 2 của so_nguyen: ", so_nguyen[2])

Đoạn code trên sẽ cho kết quả sau:

Phần tử ở chỉ mục 0 của sinh_vien: Hồng
Phần tử ở chỉ mục 2 của so_nguyen: 3

Giải thích:

  • sinh_vienso_nguyen: được khai báo là các Tuple.
  • sinh_vien[0]: truy cập phần tử ở vị trí chỉ mục 0 (phần tử đầu tiên) của Tuple sinh_vien.
  • so_nguyen[2]: truy cập phần tử tại chỉ mục 2 của Tuple so_nguyen (phần tử thứ ba).
  • Các câu lệnh print(): hiển thị kết quả.

Truy cập các phần tử của tuple với chỉ số âm

Chỉ số âm trong Python được sử dụng để truy cập các phần tử từ cuối Tuple, với -1 đại diện cho phần tử cuối cùng, -2 đại diện cho phần tử kế cuối, và cứ tiếp tục như vậy.

Chúng ta có thể truy cập các phần tử trong Tuple bằng cách sử dụng các số nguyên âm. Các số nguyên âm này biểu diễn vị trí từ cuối Tuple trở về đầu.

Trong ví dụ sau, chúng ta sẽ truy cập các phần tử của Tuple bằng cách sử dụng chỉ số âm:

trai_cay = ("táo", "chuối", "cam", "dứa")
do_vat = (25.50, True, -55, 1+2j)

print ("Phần tử ở vị trí cuối cùng trong 'trai_cay': ", trai_cay[-1])
print ("Phần tử thứ ba từ cuối lên trong 'do_vat': ", do_vat[-3])

Kết quả khi chạy đoạn code trên:

Phần tử ở vị trí cuối cùng trong ‘trai_cay’: dứa
Phần tử thứ ba từ cuối lên trong ‘do_vat’: True

Giải thích:

  • Đầu tiên, chúng ta định nghĩa hai Tuple: trai_cay chứa các chuỗi, và do_vat chứa các kiểu dữ liệu khác nhau (số thực, boolean, số nguyên, số phức).
  • print("Phần tử ở vị trí cuối cùng trong 'trai_cay': ", trai_cay[-1]): Dòng này in ra phần tử cuối cùng của Tuple trai_cay. trai_cay[-1] có nghĩa là “lấy phần tử ở vị trí -1 trong trai_cay“. Vị trí -1 tương ứng với phần tử cuối cùng (ở đây là “dứa”).
  • print("Phần tử thứ ba từ cuối lên trong 'do_vat': ", do_vat[-3]): Dòng này in ra phần tử thứ ba từ cuối lên của Tuple do_vat. do_vat[-3] có nghĩa là “lấy phần tử ở vị trí -3 trong do_vat.” Vị trí -3 là phần tử True.

Truy cập một phần của tuple với chỉ số âm

Khi nói “một phần của Tuple”, chúng ta muốn nói đến việc truy cập một tập hợp con các phần tử từ một Tuple bằng cách sử dụng kỹ thuật slicing. Với slicing, chúng ta có thể truy cập một phạm vi các phần tử trong Tuple, bao gồm cả việc sử dụng chỉ số âm.

Trong ví dụ dưới đây, chúng ta sẽ truy cập một dải các phần tử trong Tuple bằng cách sử dụng chỉ số âm:

tup1 = ("a", "b", "c", "d")
tup2 = (1, 2, 3, 4, 5)

print ("Các phần tử từ vị trí 1 đến hết trong tup1: ", tup1[1:])
print ("Các phần tử từ vị trí 2 đến gần cuối trong tup2:", tup2[2:-1])

Kết quả sẽ như sau:

Các phần tử từ vị trí 1 đến hết trong tup1: (‘b’, ‘c’, ‘d’)
Các phần tử từ vị trí 2 đến gần cuối trong tup2: (3, 4)

Giải thích:

  • tup1 = ("a", "b", "c", "d")tup2 = (1, 2, 3, 4, 5): Khai báo hai Tuple, tup1 chứa các chuỗi ký tự và tup2 chứa các số nguyên.
  • tup1[1:]: Lấy các phần tử từ vị trí có chỉ số 1 (phần tử thứ hai) đến hết Tuple tup1.
  • tup2[2:-1]:
    • 2: Bắt đầu từ phần tử có chỉ số 2 (phần tử thứ ba).
    • -1: Kết thúc trước phần tử có chỉ số -1 (phần tử cuối cùng). Vì vậy, phần tử cuối cùng không được bao gồm.

Sử dụng toán tử slice để truy cập phần tử của tuple

Toán tử slice trong Python được dùng để trích xuất một hoặc nhiều phần tử từ một Tuple. Chúng ta có thể truy cập các phần tử Tuple bằng toán tử slice bằng cách chỉ định phạm vi chỉ số muốn trích xuất. Toán tử slice có cú pháp sau:

[start:stop]

Trong đó:

  • start là chỉ số bắt đầu (bao gồm cả phần tử tại vị trí start).
  • stop là chỉ số kết thúc (không bao gồm phần tử tại vị trí stop).

Trong ví dụ sau, chúng ta sẽ trích xuất các Tuple con từ Tuple gốc, ví dụ như từ chỉ số 1 đến cuối của tuple1, các phần tử ở vị trí từ đầu tới 1 ở tuple2, và tất cả phần tử của tuple3:

# Khai báo các tuple
mon_hoc = ("Toán", "Văn", "Anh", "Sử", "Địa")
diem_so = (8.5, True, -3, 2+5j)
do_tuoi = (16, 17, 18, 19, 20, 21)
sinh_vien = ("An", "Công nghệ thông tin", 20, 8.2)

# Truy cập và in các phần tử sử dụng slice
print("Các môn học từ vị trí 1 đến cuối:", mon_hoc[1:])
print("Hai điểm số đầu tiên:", diem_so[:2])
print("Tất cả các độ tuổi:", do_tuoi[:]) #Hoặc có thể dùng: do_tuoi[:]
print("Thông tin Sinh viên:", sinh_vien) 

Kết quả của đoạn code trên như sau:

Các môn học từ vị trí 1 đến cuối: (‘Văn’, ‘Anh’, ‘Sử’, ‘Địa’)
Hai điểm số đầu tiên: (8.5, True)
Tất cả các độ tuổi: (16, 17, 18, 19, 20, 21)
Thông tin Sinh viên: (‘An’, ‘Công nghệ thông tin’, 20, 8.2)

Giải thích:

  • mon_hoc[1:]: Toán tử slice này lấy các phần tử từ chỉ số 1 (phần tử thứ hai, vì chỉ số bắt đầu từ 0) đến hết Tuple mon_hoc.
  • diem_so[:2]: Toán tử slice này lấy các phần tử từ đầu (chỉ số 0) đến chỉ số 1 (không bao gồm phần tử tại chỉ số 2).
  • do_tuoi[:]: Toán tử slice này không chỉ định start và stop, nên sẽ lấy toàn bộ các phần tử của Tuple do_tuoi.
  • sinh_vien: Dòng code thứ tư sinh_vien chỉ đơn thuần in ra tuple theo bản gốc chứ không phải là slicing. Việc truy cập như vậy ta có thể bỏ qua bước đánh index, đối với Tuple có số lượng phần tử lớn thì slicing sẽ hiệu quả hơn.

Truy cập tuple con từ một tuple

Một Tuple con (sub Tuple) là một phần của Tuple, bao gồm một chuỗi liên tiếp các phần tử từ Tuple gốc.

Chúng ta có thể truy cập Tuple con từ một Tuple bằng cách sử dụng toán tử slice (lát cắt) với các chỉ số bắt đầu và kết thúc phù hợp. Cú pháp như sau:

my_tuple[start:stop]

Trong đó:

  • start là chỉ số bắt đầu (bao gồm phần tử tại vị trí này).
  • stop là chỉ số kết thúc (không bao gồm phần tử tại vị trí này).

Nếu không cung cấp bất kỳ chỉ số nào, toán tử slice sẽ mặc định bắt đầu từ chỉ số 0 và dừng ở phần tử cuối cùng trong Tuple.

Giả sử bạn có một Tuple chứa thông tin về các loại trái cây yêu thích:

trai_cay_yeu_thich = ("xoài", "dưa hấu", "mít", "sầu riêng", "măng cụt")

# Lấy ra các loại trái cây từ vị trí thứ 2 đến thứ 4:
cac_loai_yeu_thich_nhat = trai_cay_yeu_thich[1:4]
print(cac_loai_yeu_thich_nhat)

# Lấy 2 loại trái cây đầu tiên
hai_loai_dau = trai_cay_yeu_thich[:2] # Không có "start", mặc định là 0
print(hai_loai_dau)
# Lấy từ loại trái cây thứ 4 đến hết.
tu_thu_4_den_het = trai_cay_yeu_thich[3:] # Không có "stop", mặc định đến cuối
print (tu_thu_4_den_het)

Kết quả đầu ra (dự kiến):

(‘dưa hấu’, ‘mít’, ‘sầu riêng’)
(‘xoài’, ‘dưa hấu’)
(‘sầu riêng’, ‘măng cụt’)

Giải thích:

  • trai_cay_yeu_thich[1:4]: Toán tử slice lấy các phần tử từ chỉ số 1 (dưa hấu) đến chỉ số 4 (nhưng không bao gồm phần tử tại chỉ số 4 là “măng cụt”), vậy các phần tử bao gồm “dưa hấu”, “mít”, “sầu riêng”.
  • trai_cay_yeu_thich[:2]: không có giá trị bắt đầu, giá trị mặc định sẽ là 0. Nên các phần tử được lấy là ‘xoài’, ‘dưa hấu’.
  • trai_cay_yeu_thich[3:]: không có giá trị dừng, nên giá trị sẽ dừng ở cuối Tuple.
  • Kết quả của cac_loai_yeu_thich_nhat là: ('dưa hấu', 'mít', 'sầu riêng').
  • Kết quả của hai_loai_dau là: ('xoài', 'dưa hấu').
  • Kết quả của tu_thu_4_den_het là: ('sầu riêng', 'măng cụt').

Lời kết

Vậy là chúng ta đã cùng nhau khám phá các phương pháp truy cập các phần tử trong Tuple, từ indexing, chỉ số âm cho đến slicing để trích xuất các Tuple con. Hy vọng những kiến thức này sẽ giúp bạn khai thác Tuple một cách hiệu quả hơn trong các dự án lập trình của mình.

Mọi người cũng đọc

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn