Tạo tuple python

Tuple là một kiểu tập hợp dữ liệu khác trong Python và cũng được sử dụng rất rộng rãi. Mặc dù tuple có điểm tương tự như danh sách, giữa hai kiểu dữ liệu có nhiều điểm khác biệt về bản chất và mục đích sử dụng. Bài học này sẽ hướng dẫn chi tiết về cấu trúc dữ liệu tuple cũng như phân biệt khi nào sử dụng tuple, khi nào sử dụng danh sách

NỘI DUNG CỦA BẢNG

Ví dụ minh họa

>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]
>>> us_info = f'''Official name: {us[0]}
.. Area: {us[1]} km2
.. Population: {us[2]}
.. GDP/capital: {us[3]} USD'''
>>> print[us_info]
Official name: USA
Area: 9600000 km2
Population: 350000000
GDP/capital: 40000 USD
>>> vn_info = f'''Official name: {vn[0]}
.. Area: {vn[1]} km2
.. Population: {vn[2]}
.. GDP/capital: {vn[3]} USD'''
>>> print[vn_info]
Official name: Vietnam
Area: 330000 km2
Population: 95000000
GDP/capital: 2500 USD

Trong ví dụ trên chúng tôi đã tạo ra 2 biến kiểu tuple chứa thông tin địa lý cơ bản về Việt Nam và Mỹ, bao gồm tên tiếng Anh, diện tích, dân số, GDP bình quân đầu người

>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]

So với danh sách, cách tạo tuple chỉ khác ở cặp dấu [] [so với [] của danh sách]. Các phần tử của tuple có thể thuộc bất kỳ loại nào và cần được phân tách bằng dấu phẩy

Sau đó chúng ta sử dụng các thông tin trên để viết ra đoạn giới thiệu về quốc gia

us_info = f'''Official name: {us[0]}
.. Area: {us[1]} km2
.. Population: {us[2]}
.. GDP/capital: {us[3]} USD'''
print[us_info]

Hãy để ý cách chúng ta sử dụng các thông tin được lưu trong tuple. Bounds is used allowlicant slice [] to query output section. Về dạng thức không có gì khác biệt so với việc sử dụng danh sách trong Python

Nếu muốn viết ở dạng tập lệnh, hãy sử dụng mã sau

vn = ['Vietnam', 330_000, 95_000_000, 2500]
us = ['USA', 9_600_000, 350_000_000, 40_000]
vn_info = f'''Official name: {vn[0]}
Area: {vn[1]} km2
Population: {vn[2]}
GDP/capital: {vn[3]} USD'''
us_info = f'''Official name: {us[0]}
Area: {us[1]} km2
Population: {us[2]}
GDP/capital: {us[3]} USD'''
print[vn_info]
print[us_info]

Tuple data type in Python

Kiểu dữ liệu tuple trong Python có thể chứa nhiều giá trị viết trong dấu ngoặc kép []. Mỗi giá trị được tách rời nhau bởi một dấu phẩy

vn = ['Vietnam', 330_000, 95_000_000, 2500]
us = ['USA', 9_600_000, 350_000_000, 40_000]

Lưu ý. nếu chỉ có 1 phần tử trong tuple, bạn vẫn phải viết dấu phẩy sau nó. If not write com com, Python will not coi it is a tuple. Ví dụ tuple với 1 phần tử.

>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]
1

One tuple could not contain any element section. Khi đó nó được gọi là một tuple rỗng. Tuple trống biểu diễn là

>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]
2. Ví dụ,
>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]
3

Các giá trị trong một bộ có thể thuộc bất kỳ loại dữ liệu nào [cả kiểu danh sách hoặc bộ khác]. Thường người ta vẫn sử dụng tuple để nhóm các dữ liệu khác nhau vào một đơn vị. Như ở trên, chúng ta đưa nhóm tên quốc gia, diện tích, dân số, GDP bình quân vào cùng một bộ

Trong trường hợp phần tử của một bộ có thể là một bộ khác, người ta gọi là bộ lồng nhau [bộ lồng nhau]. Ví dụ

________số 8

Đặc điểm quan trọng của tuple là tính bất biến [immutability]

Đặc điểm này khiến tuple không thể cập nhật một khi đã được tạo ra. Bạn chỉ có thể lấy một phần của tuple để tạo ra tuple mới chứ không thể cập nhật tuple

Tính bất biến cũng khiến bạn không thể xóa một phần tuple. You only could delete all the tuple by command del like after

>>> sg = ['Singapore', 5_639_000, ['Chinese', 'English']]
>>> del sg

Bạn có thể truy xuất các phần tử của bộ dữ liệu cho phép lát cắt toán học và lát cắt phạm vi giống như đối chiếu với danh sách. Hai phép toán này đã trình bày kỹ năng trong bài học về danh sách trong Python. Bạn có thể xem lại nếu không nhớ

>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]
0

Các phép toán và hàm trên tuple

Kiểu tuple trong Python cũng hỗ trợ các phép toán giống như danh sách, bao gồm

  • phép cộng tuple
    >>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
    >>> us = ['USA', 9_600_000, 350_000_000, 40_000]
    4 trả về một tuple mới bao gồm các phần tử của cả hai tuple
  • it tuple
    >>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
    >>> us = ['USA', 9_600_000, 350_000_000, 40_000]
    5 return a new tuple by cách lặp lại các phần tử của một tuple
  • kiểm tra thành viên
    >>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
    >>> us = ['USA', 9_600_000, 350_000_000, 40_000]
    6 – trả về True/False tùy thuộc tính xem giá trị có nằm trong tuple hay không

Vui lòng xem cách sử dụng các phép toán này thông qua ví dụ sau

>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]
4

Python cung cấp sẵn các hàm làm việc với tuple, bao gồm len[] – lấy số phần tử, max[] – lấy phần tử lớn nhất, min[] – lấy phần tử nhỏ nhất, tuple[] – chuyển đổi danh sách về . Vui lòng xem cách sử dụng các chức năng trên ví dụ sau

>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]
5

Chú ý, min[] và max[] chỉ hoạt động nếu tất cả các phần tử của tuple có cùng kiểu [ví dụ, cùng là số hoặc cùng là thứ hạng]. If not same type, allow so sánh của các chức năng này không hoạt động được. Thực tế, hai chức năng này gần như không có ý nghĩa với tuple

Lớp tuple cũng cung cấp các phương thức đếm[] – đếm số lần xuất hiện của 1 giá trị và chỉ mục[] – xác định số lượng duy nhất của phần tử

>>> vn = ['Vietnam', 330_000, 95_000_000, 2500]
>>> us = ['USA', 9_600_000, 350_000_000, 40_000]
0

Tuple hay danh sách trong Python?

Qua nội dung của bài này và bài học trước đó [danh sách trong Python], bạn có thể thấy có rất nhiều điểm tương đồng giữa tuple và danh sách. Tuy nhiên, tuple và list có những điểm phân biệt rõ ràng. Sự khác biệt này quyết định giá trị sử dụng của từng loại dữ liệu

Thứ nhất, danh sách là kiểu dữ liệu khả biến [có thể thay đổi] trong khi tuple là kiểu dữ liệu bất biến [không thay đổi]. Nghĩa là, khi đã được tạo ra trong bộ nhớ, danh sách có thể thay đổi còn tuple thì không thể thay đổi. Các thao tác biến đổi trên tuple sẽ đều tạo ra đối tượng mới chứ không thay đổi đối tượng có sẵn

Từ cạnh nào có thể cấu hình dung tuple là phiên bản chỉ đọc thu gọn của danh sách

With the privacy on, list used to be used to data for program. Ví dụ, bạn có thể đọc dữ liệu từ tệp vào danh sách, thực hiện các biến đổi trên danh sách và lưu trở lại tệp. Dữ liệu được lưu trong danh sách được xử lý bởi linh hoạt chuyển đổi linh hoạt hơn. You could not use tuple for this target

Trong khi đó, tuple được sử dụng để truyền dữ liệu trong chương trình. Ví dụ, nếu một hàm cần trả lại nhiều kết quả, thì nó có thể trả về một bộ dữ liệu. Kết quả trả về ở dạng tuple nhẹ, nhanh và an toàn hơn. Ở đây mặc dù có thể sử dụng danh sách nhưng không khuyến mãi

Mặc dù list cho phép lưu trữ dữ liệu thuộc nhiều kiểu khác nhau, người ta thường sử dụng list để lưu dữ liệu có cùng kiểu. Trong khi đó, tuple thường được sử dụng để lưu trữ kết quả thuộc các loại khác nhau để truyền lại trong chương trình

Ví dụ, nếu khách hàng có các thông tin về họ tên, email, số điện thoại, địa chỉ. Danh sách khách hàng [tập hợp bản ghi] nên được lưu trong danh sách. Nếu cần truyền thông tin về một khách hàng [dữ liệu 1 bản ghi, ví dụ, trả về từ hàm] thì nên sử dụng tuple chứa các thông tin của khách hàng đó

Kết luận

Bài học đã hướng dẫn cách sử dụng kiểu dữ liệu tuple trong Python và phân biệt tuple với danh sách. Nhìn chung có thể cấu hình dung tuple như một phiên bản chỉ đọc và đơn giản hơn của danh sách được sử dụng để truyền dữ liệu trong chương trình

Chủ Đề