Tuple là một cấu trúc dữ liệu quan trọng trong Python, cung cấp cách thức tiện lợi để lưu trữ các bộ sưu tập dữ liệu có thứ tự và không thể thay đổi. Trong bài viết này, bạn sẽ tìm hiểu mọi thứ về tuple trong Python, bao gồm cách tạo, cắt lát, các phương thức và hơn thế nữa.
Giới thiệu về Tuple trong Python
Tuple là tập hợp các mục dữ liệu có thứ tự. Trong tuple, bạn có thể lưu trữ nhiều mục trong một biến duy nhất. Tuple là bất biến, nghĩa là bạn không thể thay đổi chúng sau khi tạo.
Tạo Tuple
Tuple được định nghĩa bằng dấu ngoặc tròn () và các mục được phân tách bằng dấu phẩy. Một tuple có thể chứa các mục thuộc nhiều kiểu dữ liệu khác nhau.
VD:
tuple1 = (1,2,36,3,15)
tuple2 = ("Red", "Yellow", "Blue")
tuple3 = (1, "John",12, 5.3) print(tuple1) # (1, 2, 36, 3, 15)
print(tuple2) # ('Red', 'Yellow', 'Blue')
print(tuple3) # (1, 'John', 12, 5.3)
Tuple đơn mục
Để tạo một tuple với một mục, hãy thêm dấu phẩy sau mục đó. Nếu không có dấu phẩy, Python sẽ coi nó là kiểu số nguyên.
VD:
tuple1 = (1) # This is an integer.
print(type(tuple1)) # <class 'int'> tuple2 = (1,) # This is a tuple.
print(type(tuple2)) # <class 'tuple'>
Độ dài của Tuple
Bạn có thể tìm độ dài của một tuple (số lượng mục trong một tuple) bằng cách sử dụng hàm len().
VD:
tuple1 = (1,2,36,3,15)
lengthOfTuple = len(tuple1) print(lengthOfTuple) # 5
Truy cập các mục trong Tuple
Bạn có thể truy cập các mục/phần tử của tuple bằng cách sử dụng chỉ mục. Mỗi phần tử có chỉ mục duy nhất của nó. Việc đánh chỉ mục bắt đầu từ 0 cho phần tử đầu tiên, 1 cho phần tử thứ hai, v.v.
VD:
fruits = ("Orange", "Apple", "Banana") print(fruits[0]) # Orange
print(fruits[1]) # Apple
print(fruits[2]) # Banana
Bạn cũng có thể truy cập các phần tử từ cuối tuple (-1 cho phần tử cuối cùng, -2 cho phần tử thứ hai tính từ cuối, v.v.), thao tác này được gọi là chỉ mục âm.
VD:
fruits = ("Orange", "Apple", "Banana") print(fruits[-1]) # Banana print(fruits[-2]) # Apple
print(fruits[-3]) # Orange
# for understanding, you can consider this as fruits[len(fruits)-3]
Kiểm tra xem một mục có trong tuple hay không
Bạn có thể kiểm tra xem một phần tử có trong tuple hay không bằng cách sử dụng từ khóa in.
VD1:
fruits = ("Orange", "Apple", "Banana")
if "Orange" in fruits: print("Orange is in the tuple.")
else: print("Orange is not in the tuple.") #Output: Orange is in the tuple.
VD2:
numbers = (1, 57, 13)
if 7 in numbers: print("7 is in the tuple.")
else: print("7 is not in the tuple.") # Output: 7 is not in the tuple.
Cắt lát Tuple
Bạn có thể lấy một phạm vi các mục tuple bằng cách cung cấp các tham số bắt đầu, kết thúc và bước nhảy (bỏ qua).
Cú pháp:
tupleName[start : end : jumpIndex]
Lưu ý: jumpIndex là tùy chọn không bắt buộc.
VD1:
# Printing elements within a particular range
numbers = (1, 57, 13, 6, 18, 54) # using positive indexes(this will print the items starting from index 2 and ending at index 4 i.e. (5-1))
print(numbers[2:5]) # using negative indexes(this will print the items starting from index -5 and ending at index -3 i.e. (-2-1))
print(numbers[-5:-2])
Output:
(13, 6, 18)
(57, 13, 6)
VD2: Khi không cung cấp chỉ mục kết thúc, trình thông dịch sẽ in tất cả các giá trị cho đến cuối.
# Printing all elements from a given index to till the end
numbers = (1, 57, 13, 6, 18, 54) # using positive indexes
print(numbers[2:]) # using negative indexes
print(numbers[-5:])
Output:
(13, 6, 18, 54)
(57, 13, 6, 18, 54)
VD3: Khi không cung cấp chỉ mục bắt đầu, trình thông dịch sẽ in tất cả các giá trị từ đầu đến chỉ mục kết thúc đã cung cấp.
# Printing all elements from start to a given index
numbers = (1, 57, 13, 6, 18, 54) #using positive indexes
print(numbers[:4]) #using negative indexes
print(numbers[:-2])
Output:
(1, 57, 13, 6)
(1, 57, 13, 6)
VD4: Bạn có thể in các giá trị xen kẽ bằng cách cung cấp jump index.
# Printing alternate values
numbers = (1, 57, 13, 6, 18, 54) # using positive indexes(here start and end indexes are not given and 2 is jump index.)
print(numbers[::2]) # using negative indexes(here start index is -2, end index is not given and 2 is jump index.)
print(numbers[-2::2])
Output:
(1, 13, 18)
(18)
Thao tác với Tuple
Tuple là bất biến, vì vậy các mục không thể được thêm, xóa hoặc thay đổi. Tuy nhiên, bạn có thể chuyển đổi một tuple thành một list, sửa đổi list và chuyển đổi lại thành tuple.
VD:
fruits = ("Apple", "Orange", "Plum", "Banana")
fruits_list = list(fruits) # Convert to list
fruits_list.append("Guava") # Modify the list
fruits = tuple(fruits_list) # Convert back to tuple print(fruits)
# Output: ('Apple', 'Orange', 'Plum', 'Banana', 'Guava')
Nối Tuple
Bạn có thể nối hai tuple bằng cách sử dụng toán tử +
VD:
fruits1 = ("Apple", "Orange", "Plum")
fruits2 = ("Banana", "Grapes")
fruits = fruits1+ fruits2
print(fruits)
Output:
('Apple', 'Orange', 'Plum', 'Banana', 'Grapes')
Các phương thức của Tuple
Tuple có các phương thức tích hợp sau:
- count(): Phương thức này trả về số lần một phần tử xuất hiện trong một tuple. Cú pháp:
tuple.count(element)
VD:
tuple1 = (1, 57, 3, 6, 18, 3, 3)
count_3 = tuple1.count(3)
print(count_3) # Output: 3
- index(): Phương thức này trả về lần xuất hiện đầu tiên của phần tử đã cho từ tuple.
Lưu ý: Phương thức này sẽ tạo ra ValueError nếu không tìm thấy phần tử trong tuple.
VD:
tuple1 = (1, 57, 3, 6, 18, 54, 3)
numberIndex = tuple1.index(3)
print('Index of 3 in tuple1 is:', numberIndex)
# Output: Index of 3 in tuple1 is: 2
Bạn có thể chỉ định chỉ mục bắt đầu cho tìm kiếm. VD:
tuple1 = (1, 57, 13, 6, 18, 54, 13)
numberIndex = tuple1.index(13, 3) # Start search at index 3
print(numberIndex)
# Output: 6
Hy vọng qua bài viết vừa rồi, bạn sẽ biết thêm được nhiều thông tin hữu ích.