Python TUPLE – Đóng gói, Giải nén, So sánh, Cắt, Xóa, Khóa

⚡ Tóm tắt thông minh

Python Tuple là một tập hợp các giá trị có thứ tự, bất biến, được viết trong ngoặc đơn. Các ví dụ dưới đây bao gồm việc đóng gói và giải nén tuple, so sánh tuple, sử dụng tuple làm khóa từ điển, xóa, cắt lát và những ưu điểm của tuple so với danh sách.

  • 📦 Định nghĩa: Tuple là một tập hợp có thứ tự, bất biến được tạo ra bằng dấu ngoặc đơn.
  • 🔁 Đóng gói/Mở gói: Gom các giá trị thành một bộ (tuple), sau đó lấy ví dụ.tracchuyển chúng trở lại thành các biến.
  • ⚖️ So sánh: Các bộ dữ liệu được so sánh từng phần tử một từ trái sang phải.
  • 🔑 Từ khóa: Vì các bộ dữ liệu (tuple) có thể được băm (hashable), chúng có thể hoạt động như các khóa từ điển phức hợp.
  • ✂️ Cắt lát: Truy xuất các phần tử con từ một bộ dữ liệu bằng cách sử dụng cú pháp cắt lát.
  • 🚀 Ưu điểm: Tuple nhanh hơn và có khả năng bảo vệ ghi so với list.

Python Bộ dữ liệu

So khớp Tuple là gì Python?

So khớp Tuple trong Python là một phương pháp nhómping Chúng ta có thể tạo các bộ dữ liệu bằng cách so khớp phần tử thứ hai trong mỗi bộ dữ liệu. Điều này được thực hiện bằng cách sử dụng một từ điển và kiểm tra phần tử thứ hai trong mỗi bộ dữ liệu trong lập trình Python. Tuy nhiên, chúng ta cũng có thể tạo các bộ dữ liệu mới bằng cách lấy các phần của các bộ dữ liệu hiện có.

Cú pháp bộ dữ liệu

Tup = ('Jan','feb','march')

Để viết một bộ trống, bạn cần viết dưới dạng hai dấu ngoặc đơn không chứa gì-

tup1 = ();

Để viết tuple cho một giá trị duy nhất, bạn cần bao gồm dấu phẩy, mặc dù chỉ có một giá trị duy nhất. Ngoài ra ở cuối bạn cần viết dấu chấm phẩy như hình dưới đây.

Tup1 = (50,);

Các chỉ số của bộ dữ liệu bắt đầu từ 0 và chúng có thể được nối, cắt, v.v.

Bài tập Tuple

Python có tính năng gán bộ dữ liệu cho phép bạn gán nhiều biến cùng một lúc. Ở đây, chúng ta đã gán bộ dữ liệu 1 với thông tin về người như tên, họ, năm sinh, v.v. và một bộ dữ liệu 2 khác với các giá trị trong đó như số (1,2,3,….,7).

Ví dụ,

(tên, họ, năm sinh, bộ phim yêu thích và năm, nghề nghiệp, nơi sinh) = Robert

Đây là mã,

tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print(tup1[0])
print(tup2[1:4])
  • Tuple 1 bao gồm danh sách thông tin của Robert
  • Tuple 2 bao gồm danh sách các số trong đó
  • Chúng tôi gọi giá trị của [0] trong bộ dữ liệu và đối với bộ dữ liệu 2, chúng tôi gọi giá trị từ 1 đến 4
  • Chạy mã- Nó đặt tên Robert cho bộ dữ liệu đầu tiên trong khi đối với bộ dữ liệu thứ hai, nó cho số (2,3 và 4)

Đóng gói và mở gói

Trong quá trình đóng gói, chúng ta gán giá trị vào một bộ dữ liệu mới, trong khi ở quá trình giải nén, chúng ta...tracchuyển các giá trị đó trở lại thành các biến.

x = ("Guru99", 20, "Education")    # tuple packing
(company, emp, profile) = x    # tuple unpacking
print(company)
print(emp)
print(profile)

So sánh các bộ dữ liệu

Một toán tử so sánh trong Python có thể làm việc với bộ dữ liệu.

Việc so sánh bắt đầu với phần tử đầu tiên của mỗi bộ dữ liệu. Nếu chúng không so sánh với =,< hoặc > thì nó sẽ chuyển sang phần tử thứ hai, v.v.

Nó bắt đầu bằng việc so sánh phần tử đầu tiên từ mỗi bộ dữ liệu

Hãy nghiên cứu điều này với một ví dụ-

#trường hợp 1

a=(5,6)
b=(1,4)
if (a>b):print("a is bigger")
else: print("b is bigger")

#trường hợp 2

a=(5,6)
b=(5,4)
if (a>b):print("a is bigger")
else: print ("b is bigger")

#trường hợp 3

a=(5,6)
b=(6,4)
if (a>b):print("a is bigger")
else: print("b is bigger")

Trường hợp 1: So sánh bắt đầu với phần tử đầu tiên của mỗi bộ dữ liệu. Trong trường hợp này 5>1, do đó đầu ra a lớn hơn

Trường hợp 2: So sánh bắt đầu với phần tử đầu tiên của mỗi bộ dữ liệu. Trong trường hợp này 5>5 là không thuyết phục. Vì vậy, nó tiến tới phần tử tiếp theo. 6>4 nên đầu ra a lớn hơn

Trường hợp 3: So sánh bắt đầu với phần tử đầu tiên của mỗi bộ dữ liệu. Trong trường hợp này 5>6 là sai. Vì vậy, nó đi vào khối else và in ra “b lớn hơn”.

Sử dụng bộ dữ liệu làm khóa trong từ điển

Vì các bộ dữ liệu có thể băm được còn danh sách thì không, nên chúng ta phải sử dụng bộ dữ liệu làm khóa nếu cần tạo một khóa tổng hợp để sử dụng trong từ điển.

Ví dụ: Chúng ta sẽ gặp một khóa tổng hợp nếu chúng ta cần tạo một danh bạ điện thoại ánh xạ họ, tên, các cặp số điện thoại, v.v. Giả sử rằng chúng ta đã khai báo các biến là số họ và số đầu tiên, chúng ta có thể viết một câu lệnh gán từ điển như dưới đây:

directory[last,first] = number

Bên trong dấu ngoặc, biểu thức là một tuple. Chúng ta có thể sử dụng phép gán tuple trong vòng lặp for để điều hướng từ điển này.

for last, first in directory:
print first, last, directory[last, first]

Vòng lặp này điều hướng các khóa trong thư mục, là các bộ dữ liệu. Nó gán các phần tử của mỗi bộ là cuối và đầu, sau đó in tên và số điện thoại tương ứng.

Bộ dữ liệu và từ điển

Từ điển có thể trả về danh sách các bộ dữ liệu bằng cách gọi các mục, trong đó mỗi bộ dữ liệu là một cặp giá trị khóa.

a = {'x':100, 'y':200}
b = list(a.items())
print(b)

Xóa bộ dữ liệu

Tuples là bất biến và không thể bị xóa. Bạn không thể xóa hoặc loại bỏ các mục khỏi một bộ dữ liệu. Nhưng có thể xóa hoàn toàn bộ dữ liệu bằng cách sử dụng từ khóa

del

Cắt Tuple

Để tìm nạp các bộ phần tử phụ cụ thể từ bộ hoặc danh sách, chúng tôi sử dụng chức năng duy nhất này được gọi là cắt. Cắt lát không chỉ áp dụng cho bộ mà còn cho mảng và danh sách.

x = ("a", "b","c", "d", "e")
print(x[2:4])

Đầu ra của mã này sẽ là ('c', 'd').

Dưới đây là Python 2 Code cho tất cả các ví dụ trên

tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print  tup1[0]
print  tup2[1:4]

#Packing and Unpacking
x = ("Guru99", 20, "Education")    # tuple packing
(company, emp, profile) = x    # tuple unpacking
print company
print emp
print profile

#Comparing tuples
#case 1
a=(5,6)
b=(1,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#case 2
a=(5,6)
b=(5,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#case 3
a=(5,6)
b=(6,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#Tuples and dictionary
a = {'x':100, 'y':200}
b = a.items()
print b 

#Slicing of Tuple
x = ("a", "b","c", "d", "e")
print x[2:4]

Các hàm tích hợp với Tuple

Để thực hiện các tác vụ khác nhau, tuple cho phép bạn sử dụng nhiều hàm dựng sẵn như all(), Any(), enumerate(), max(), min(),sort(), len(), tuple(), v.v.

Ưu điểm của tuple so với danh sách

  • Việc lặp qua bộ dữ liệu nhanh hơn so với danh sách vì bộ dữ liệu là bất biến.
  • Các bộ dữ liệu bao gồm các phần tử bất biến có thể được sử dụng làm khóa cho từ điển, điều này không thể thực hiện được với danh sách
  • Nếu bạn có dữ liệu không thể thay đổi, việc triển khai nó dưới dạng bộ dữ liệu sẽ đảm bảo rằng nó vẫn được bảo vệ chống ghi

Câu Hỏi Thường Gặp

Tuple là kiểu dữ liệu bất biến và được viết bằng dấu ngoặc đơn, trong khi list là kiểu dữ liệu có thể thay đổi và được viết bằng dấu ngoặc vuông. Tuple nhanh hơn và có thể được dùng làm khóa của từ điển; list tốt hơn khi bạn cần thêm, xóa hoặc thay đổi các mục.

Không. Tuple là bất biến, vì vậy bạn không thể thay đổi, thêm hoặc xóa các phần tử của chúng sau khi tạo. Nếu bạn cần một phiên bản đã sửa đổi, hãy tạo một tuple mới, hoặc chuyển đổi tuple thành danh sách, thay đổi nó, rồi chuyển đổi lại.

Thêm dấu phẩy sau giá trị, ví dụ như t = (50,). Nếu không có dấu phẩy, Python coi dấu ngoặc đơn như một nhóm bình thườngping và tạo ra một số nguyên, chứ không phải một bộ dữ liệu (tuple). Dấu phẩy là thứ làm cho nó trở thành một bộ dữ liệu chỉ có một phần tử.

Sử dụng `tuple()` để chuyển đổi một danh sách thành một bộ dữ liệu, ví dụ: `tuple([1, 2, 3])`. Để làm ngược lại, hãy sử dụng `list()` trên bộ dữ liệu đó. Việc chuyển đổi rất hữu ích khi bạn cần tạm thời sửa đổi dữ liệu vốn dĩ không thay đổi.

Đúng vậy. Một tuple có thể chứa các kiểu dữ liệu hỗn hợp như chuỗi, số nguyên và số thực, và nó có thể chứa các tuple hoặc danh sách khác. Các tuple lồng nhau cho phép bạn mô hình hóa các hàng, tọa độ hoặc bản ghi mà mỗi vị trí đều có ý nghĩa rõ ràng.

Tuple có tên, từ module collections, gán tên cho mỗi vị trí để bạn có thể đọc các trường theo nhãn thay vì chỉ mục. Nó duy trì tính bất biến và tốc độ của tuple trong khi làm cho mã dễ đọc hơn nhiều, giống như một lớp nhẹ.

Bộ dữ liệu (tuple) lưu trữ dữ liệu cố định, có thứ tự như hình dạng mảng, tọa độ và bản ghi tập dữ liệu. Các thư viện như NumPy và pandas sử dụng bộ dữ liệu cho hình dạng và khóa chỉ mục. Tính bất biến của chúng giúp dữ liệu máy học được an toàn khi truyền tải mà không lo bị thay đổi ngoài ý muốn.

Đúng vậy. Các trợ lý AI này có thể tạo ra mã đóng gói, giải nén và cắt chuỗi từ một lời nhắc bằng tiếng Anh đơn giản, sau đó giải thích từng dòng. Chúng cũng đưa ra gợi ý khi nào nên sử dụng chuỗi thay vì danh sách. Luôn luôn xem xét và kiểm tra mã được tạo ra trước khi sử dụng.

Tóm tắt bài viết này với: