Một tuple là một bộ sưu tập các mục được sắp xếp theo thứ tự. Bộ sưu tập có thứ tự giữ các mục theo thứ tự bạn chèn hoặc khởi tạo chúng. Nói cách khác, thứ tự được bảo toàn. Điều này trái ngược với từ điển hoặc bộ, trong đó thứ tự không được bảo toàn (bộ sưu tập không có thứ tự)
Bộ dữ liệu giống như danh sách nhưng khác nhau ở các khía cạnh sau. Chúng là bất biến, (chúng ta không thể thay đổi chúng) không giống như danh sách có thể thay đổi (chúng ta có thể thay đổi chúng). Hãy để chúng tôi tìm hiểu thêm về bộ dữ liệu và các phương thức liên quan của chúng. Chúng ta cũng sẽ học cách sử dụng chúng hiệu quả trong Python
Để biết thêm thông tin cơ bản về các cấu trúc dữ liệu khác nhau trong Python, hãy xem các bài viết sau
- Giới thiệu về cấu trúc dữ liệu
- Danh sách
- Cây rơm
- Xếp hàng
- Danh sách liên kết
- cây nhị phân
- đống
- đồ thị
Ghi chú. Điều kiện tiên quyết – Đảm bảo bạn có kiến thức Python cơ bản trước khi đi sâu vào bài viết này. Bạn cũng nên kiểm tra một số cấu trúc dữ liệu tuyến tính. (liên kết được đưa ra ở trên)
Mục lục
bộ dữ liệu. Hãy viết mã
Như chúng ta đã thảo luận, một Tuple là một tập hợp các mục không thay đổi. Hãy bắt đầu bằng cách tạo một tuple
Tạo Tuple
Một tuple có thể được tạo theo nhiều cách. Cách đơn giản nhất để tạo một bộ dữ liệu là đặt một biến thành một cặp dấu ngoặc rỗng
# Set the tuple1 variable to an empty tuple tuple1 = () # Check if the tuple is initialized properly print(type(tuple1)) # Output : <class 'tuple'>
Đoạn mã trên cho kết quả là # Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 9, cho biết rằng bộ dữ liệu đã được tạo thành công. Chúng ta cũng có thể tạo một tuple bằng cách sử dụng phương thức # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 0 có sẵn trong Python
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'>
Trong khi khởi tạo một tuple, chúng ta cũng có thể chỉ định dữ liệu nào tồn tại bên trong nó
# tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60])
Truy cập các mục trong Tuple
Tuples theo zero indexing. Trong lập chỉ mục bằng không, phần tử đầu tiên của bộ dữ liệu có chỉ mục '0', phần tử thứ hai của bộ dữ liệu có chỉ mục '1', v.v.
Lập chỉ mục tích cựcVí dụ: hãy tạo một Tuple, # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 1. Các phần tử Tuple có thể được truy cập giống như một phần tử danh sách
tuple1 = (0, 1, 2, 3) print(tuple1[0]) # Output: 0 print(tuple1[1]) # Output: 1
Bộ dữ liệu này tuân theo chỉ mục không
Lập chỉ mục tích cực Tuple. Nguồn - GeekforGeek
Lập chỉ mục tiêu cựcTương tự như danh sách, chúng ta cũng có thể sử dụng lập chỉ mục phủ định trên một bộ. Do đó, '-1' đề cập đến phần tử thứ N của một bộ, -2 đề cập đến phần tử thứ (N-1), v.v. (trong đó N là độ dài của bộ)
tuple1 = (30, 40, 50, 60) print(tuple1[-1]) # Output: 60 print(tuple1[-3]) # Output: 40
Lập chỉ mục phủ định Tuple
cắt látTrong Python, cắt lát được sử dụng để trả về một loạt các giá trị. Giống như danh sách, bộ dữ liệu cũng có thể được cắt
________số 8_______
Theo các ví dụ được hiển thị ở trên, nếu chúng ta cắt một phạm vi [a. b), nó sẽ trả về từ chỉ mục tuple a đến chỉ mục tuple (b - 1). Để biết thêm các thủ thuật về cắt lát Python, hãy xem trang này
Sửa đổi Tuples
Tuples là bất biến
Ví dụ
tuple1 = (2000, 3000, 4000) tuple1[1] = 1000
Nếu chúng ta thực thi đoạn mã trên, trình thông dịch Python sẽ đưa ra lỗi sau
Traceback (most recent call last): File "main.py", line 3 in <module> tuple1[1] = 1000 TypeError: 'tuple' object does not support item assignment
Điều này là do một tuple được thiết kế để không thay đổi. Tuy nhiên, chúng ta có thể thay đổi một bộ chứa các đối tượng có thể thay đổi
Ví dụ: chúng ta hãy lấy một bộ danh sách
tuple1 = ([10, 20], [30, 40], [50, 60]) tuple1[1][0] = 70 print(tuple1) # Output: ([10, 20], [70, 40], [50, 60])
Điều này hoạt động hoàn hảo vì chúng tôi đang sửa đổi danh sách trong một bộ dữ liệu (có thể thay đổi). Chúng ta cũng có thể tạo các bộ dữ liệu mới từ những bộ dữ liệu hiện có
tuple1 = ([10, 20], [30, 40], [50, 60]) tuple2 = ([100, 200], [300, 400]) # Creating a new tuple from tuple1 and tuple2 tuple3 = tuple1 + tuple2 print(tuple3) # Output: ([10, 20], [30, 40], [50, 60], [100, 200], [300, 400])
Phương pháp Tuple
Các bộ dữ liệu có các phương thức tích hợp sau đây khiến chúng cực kỳ mạnh mẽ
- # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 2
- # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 3
- # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 4
- # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 5
- # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 6
- # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 7
- # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 8
Ghi chú. Phương thức cmp() tồn tại trong python2. Nó không được bao gồm trong python3. Do đó, chúng tôi xác định phương pháp so sánh của riêng mình
Phương thức so sánh phân tích hai bộ dữ liệu theo từng phần tử
Nó so sánh chúng và trả về như sau
- Nếu tuple1 > tuple2. phương thức trả về 1
- Nếu tuple2 > tuple1. phương thức trả về -1
- Nếu tuple1 == tuple2. phương thức trả về 0
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 0
len(tuple)Phương thức length trả về độ dài của tuple
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 1
tối thiểu (bộ)Phương thức min trả về phần tử nhỏ nhất trong tuple
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 2
tối đa (bộ)Phương thức max trả về phần tử lớn nhất trong tuple
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 3
bộ (danh sách)Phương thức tuple chuyển đổi danh sách được truyền dưới dạng tham số thành một tuple
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 4
t. đếm (el)Phương thức đếm trả về số lượng của phần tử được truyền dưới dạng tham số
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 5
t. chỉ số (el)Phương thức index trả về chỉ mục của lần xuất hiện đầu tiên của phần tử trong một tuple
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 6
Bạn cũng có thể trả về chỉ mục của lần xuất hiện cuối cùng của phần tử bằng cách sử dụng phương thức này
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 7
Nó cũng có thể chỉ định một phạm vi để tìm kiếm
# Set the tuple2 variable to an empty tuple by using the tuple() method tuple2 = tuple() # Check if the tuple is initialized properly print(type(tuple2)) # Output : <class 'tuple'> 8
Các ứng dụng của Tuple
Bộ dữ liệu đặc biệt được sử dụng để bảo vệ chống sửa đổi. Vì chúng là bất biến, chúng ta có thể sử dụng các bộ dữ liệu để bảo vệ dữ liệu ghi
Khi lặp qua một bộ, hiệu suất tăng đáng kể được quan sát thấy khi chúng ta so sánh nó với các danh sách. Điều này thể hiện rõ hơn khi kích thước của bộ dữ liệu lớn. Sử dụng mô-đun # tuple3 consists of values 40, 50, 60 tuple3 = (40, 50, 60) # tuples can also consist of different datatypes tuple4 = (45, "55", "Hello World", True, 42.6) # we can also create a tuple of lists tuple5 = ([10, 20], [30, 40], [50, 60]) 9 trong Python, chúng tôi thấy rằng các bộ dữ liệu được lặp lại nhanh hơn đáng kể khi so sánh với các danh sách
Ghi chú. Để phân tích sâu hơn về lý do tại sao các bộ dữ liệu hoạt động tốt hơn, hãy xem chủ đề StackOverflow
Cấu trúc dữ liệu từ điển có khóa bất biến. Do đó, các bộ dữ liệu có thể được sử dụng làm khóa trong từ điển
Bộ dữ liệu có thể được sử dụng để nhóm dữ liệu liên quan. Ví dụ: một hàng trong bảng cơ sở dữ liệu có thể được nhóm lại với nhau và được lưu trữ trong một bộ
Đọc thêm
Chúng tôi đã xem xét cấu trúc dữ liệu bộ, cách triển khai và phương thức của nó. Để hiểu rõ hơn về các bộ dữ liệu, hãy xem các tài nguyên này. Bạn có thể tìm hiểu thêm về các bộ trong Python official