Hướng dẫn sử dụng và thao tác với Tuple trong Python

Ngày đăng: 25/04/2019   -    Cập nhật: 22/10/2020

1. Giới thiệu về Tuple trong Python


Tuple là một kiểu dữ liệu chứa các đối tượng không thể thay đổi được trong Python.


Tuple là các tập hợp giống như list trong Python, nhưng khác nhau ở 2 đặc điểm sau:



  • Tuple không thể thay đổi, còn list có thể thay đổi và cập nhật các phần tử
  • Tuple sử dụng cặp dấu ngoặc tròn ( ), còn list sử dụng cặp dấu ngoặc vuông [ ]


Việc tạo một tuple cũng giống như tạo một list, các phần tử được phân tách bởi dấu phảy.


Mỗi phần tử của tuple cũng có chỉ số vị trí (index), và chỉ số cũng bắt đầu bằng 0 giống như list.


Tuple trong Python

Tuple trong Python


Một số đặc điểm của Tuple:



  • Tuple hiệu quảtruy cập nhanh hơn List
  • Tuple có thể chuyển đổi thành List, và ngược lại
  • Tuple không thể thay đổi sau khi đã được tạo ra
  • Ta không thể thực hiện các thao tác add, delete và search trên Tuple
  • Giá trị của các phần tử trong Tuple không thể thay đổi
  • Không thể xóa từng phần tử riêng lẻ của Tuple
  • Lệnh del sẽ xóa toàn bộ Tuple


Để tạo ra một tuple rỗng, ta sử dụng cú pháp như sau:



tup1 = ();
 

Để tạo ra một tuple chỉ chứa một giá trị đơn, ta phải thêm dấu phảy như sau:



tup1 = (50,);
 

2. Các toán tử mà Tuple hỗ trợ


Tuple hỗ trợ các toán tử + (Nối tuple) và * (Nhân bản tuple).

Bảng dưới đây minh họa cú pháp và ý nghĩa của các toán tử trong Tuple.

Ví dụ về sử dụng toán tử trong Tuple

Ví dụ về sử dụng toán tử trong Tuple

 
Một số hàm dựng sẵn để thao tác với tuple trong Python:

 
  • cmp(tuple1, tuple2): So sánh các phần tử của 2 tuple
  • len(tuple): Trả về chiều dài của tuple
  • max(tuple): Trả về phần tử  có giá trị lớn nhất trong tuple
  • min(tuple): Trả về phần tử  có giá trị nhỏ nhất trong tuple
  • tuple(seq): Chuyển đổi một list thành tuple


Ví dụ:



mytup = (4965287)

print("Sum = " + str(sum(mytup)))
print("Min = " + str(min(mytup)))
print("Max = " + str(max(mytup)))
print("Length = " + str(len(mytup)))
 

Trong ví dụ này, ta đã khai báo một tuple có tên là mytub, đồng thời khởi tạo cho tuple này một số phần tử.


Sau đó, ta đã gọi các function để lấy ra thông tin mô tả về tuple vừa tạo:



  • Tổng giá trị của các phần tử
  • Lấy và in ra độ dài
  • Phần tử có giá trị lớn nhất trong tuple
  • Phần tử có giá trị nhỏ nhất trong tuple


Kết quả của chương trình được hiển thị như hình bên dưới.

Kết quả của ví dụ sử dụng một số hàm thao tác với Tuple

Kết quả của ví dụ sử dụng một số hàm thao tác với Tuple
 

3. Sử dụng vòng lặp để duyệt qua các phần tử trong Tuple


Trong ví dụ này, ta cũng khai báo và khởi tạo một tuple, rồi sử dụng vòng lặp để duyệt và in ra giá trị của từng phần tử trong tuple vừa tạo.



myseafood = (
    "Tom hùm bỏ lò phomai",
    "Hau nuong mo hanh",
    "Ghe hap bia sa",
    "Ca mu om dua",
    "Lau hai san thuong hang"
)

print("Tuple truoc khi update")

for s in myseafood:
    print(s)
 

Kết quả của chương trình được hiển thị như hình bên dưới:

Kết quả sử dụng vòng lặp lặp qua các phần tử của Tuple

Kết quả sử dụng vòng lặp lặp qua các phần tử của Tuple
 
Tuy nhiên, ta cần chú ý là tuple không hỗ trợ việc cập nhật hay xóa các phần tử (bản chất của tuple là một danh sách không thay đổi).


Vì vậy nếu ta cố tình thực hiện việc sửa / xóa phần tử trong tuple sẽ bị lỗi.


Ví dụ như sau:




myseafood = (
    "Tom hùm bỏ lò phomai",
    "Hau nuong mo hanh",
    "Ghe hap bia sa",
    "Ca mu om dua",
    "Lau hai san thuong hang"
)

print("Tuple truoc khi update")

for s in myseafood:
    print(s)

#cap nhat phan tu thu 2 trong tuple
myseafood[1] = "Tu hai bo lo phomai"

#xoa phan tu thu 3 trong tuple
del myseafood[2]
 

Trong ví dụ trên, ta đã thực hiện gán giá trị cho một phần tử trong tuple, rồi xóa một phần tử của tuple.

Chương trình trên khi thực thi sẽ thông báo lỗi như sau:


Lỗi khi cố gắng thay đổi các phần tử trong Tuple

Lỗi khi cố gắng thay đổi các phần tử trong Tuple

Tổng kết


Như bạn thấy, Tuple là một kiểu dữ liệu chứa các đối tượng không thể thay đổi sau khi được tạo. Chúng ta vẫn có thể thao tác với Tuple bằng một số hàm truy xuất thông tin.


Có rất nhiều ứng dụng đối với kiểu dữ liệu tuple. Tuy nhiên, bạn sẽ khám phá ra chúng khi học Python chuyên sâu hơn.


Bình luận Facebook
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!