Ở bài này ta sẽ tìm hiểu về Tuples trong python. Tuples được sử dụng để lưu trữ nhiều mục trong một biến duy nhất.
Tuples
Tuple được sử dụng để lưu trữ nhiều mục trong một biến duy nhất.
Tuple là một trong 4 loại dữ liệu có sẵn trong Python dùng để lưu trữ các tập hợp dữ liệu, 3 loại còn lại là List , Set và Directory , tất cả đều có chất lượng và cách sử dụng khác nhau.
Tuple là một bộ sưu tập được sắp xếp theo thứ tự và không thể thay đổi .
Các Tuple được viết bằng dấu ngoặc tròn.
Ví dụ:
thistuple = ("apple", "banana", "cherry") print(thistuple)
Phần tử trong Tuples
- Các phần tử trong Tupleđược sắp xếp theo thứ tự, không thể thay đổi và cho phép các giá trị trùng lặp.
- Các phần tử tuple được lập chỉ mục, phần tử đầu tiên có chỉ mục [0], phần tử thứ hai có chỉ mục [1] v.v.
- các phần tử có một thứ tự xác định và thứ tự đó sẽ không thay đổi.
- Các phần tử dữ liệu không thể thay đổi, nghĩa là chúng ta không thể thay đổi, thêm hoặc bớt các phần tử sau khi bộ dữ liệu đã được tạo.
- Vì các phần tử dữ liệu được lập chỉ mục nên chúng có thể có các phần tử có cùng giá trị:
thistuple = ("apple", "banana", "cherry", "apple", "cherry") print(thistuple) >>> ('apple', 'banana', 'cherry', 'apple', 'cherry')
Độ dài của Tuples
Để xác định một Tuplecó bao nhiêu mục, hãy sử dụng hàm len():
thistuple = ("apple", "banana", "cherry") print(len(thistuple)) >>>3
Tạo Tuples với một phần tử
Để tạo một Tuplechỉ có một phần tử, bạn phải thêm dấu phẩy sau phần tử đó, nếu không Python sẽ không nhận ra đó là một bộ dữ liệu.
thistuple = ("apple",) print(type(thistuple)) #NOT a tuple thistuple = ("apple") print(type(thistuple)) >>> <class 'tuple'> <class 'str'>
Kiểu dữ liệu phần tử thuộc tuples
- Các mục trong Tuple có thể thuộc bất kỳ loại dữ liệu nào:
tuple1 = ("apple", "banana", "cherry") tuple2 = (1, 5, 7, 9, 3) tuple3 = (True, False, False)
- Một tuple có thể chứa các kiểu dữ liệu khác nhau:
tuple1 = ("abc", 34, True, 40, "male")
Kiểu dữ liệu của tuples
Từ quan điểm của Python, các Tupleđược định nghĩa là các đối tượng có kiểu dữ liệu ‘ tuple’:
<class 'tuple'>
Xây dựng tuple()
Cũng có thể sử dụng hàm tạo tuple() để tạo một bộ dữ liệu.
thistuple = tuple(("apple", "banana", "cherry")) # note the double round-brackets print(thistuple) >>> ('apple', 'banana', 'cherry')
Truy xuất dữ liệu Tuples
Truy cập phần tử thuộc Tuples
Bạn có thể truy cập các mục tuple bằng cách tham khảo số chỉ mục(index) bên trong dấu ngoặc vuông:
thistuple = ("apple", "banana", "cherry") print(thistuple[1]) >>> banana
Lưu ý: Mục đầu tiên có chỉ số 0.
Chỉ mục âm
Lập chỉ mục âm có nghĩa là bắt đầu từ cuối của tuples
-1 đề cập đến mục cuối cùng, -2 đề cập đến mục cuối cùng thứ hai, v.v..
thistuple = ("apple", "banana", "cherry") print(thistuple[-1]) >>> cherry
Phạm vị của chỉ mục
Bạn có thể chỉ định một phạm vi chỉ mục bằng cách chỉ định nơi bắt đầu và nơi kết thúc phạm vi.
Khi chỉ định một phạm vi, giá trị trả về sẽ là một Tuplemới với các mục được chỉ định.
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango") print(thistuple[2:5]) >>> ('cherry', 'orange', 'kiwi')
Bằng cách bỏ đi giá trị bắt đầu, phạm vi sẽ bắt đầu ở mục đầu tiên:
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango") print(thistuple[:4]) >>> ('apple', 'banana', 'cherry', 'orange')
Bằng cách bỏ đi giá trị cuối, phạm vi sẽ đi đến cuối danh sách:
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango") print(thistuple[2:]) >>> ('cherry', 'orange', 'kiwi', 'melon', 'mango')
Chỉnh sửa dữ liệu Tuples
Các Tuplekhông thể thay đổi, nghĩa là bạn không thể thay đổi, thêm hoặc xóa các mục sau khi bộ dữ liệu được tạo.
Tuy nhiên vẫn có một số cách giải quyết.
Thay đổi giá trị Tuple
Khi một Tupleđược tạo, bạn không thể thay đổi giá trị của nó. Các Tuple unchangeable hoặc immutable như cách gọi của nó.
Nhưng có một cách giải quyết. Bạn có thể chuyển đổi bộ dữ liệu thành một List, thay đổi List và chuyển đổi List trở lại thành một tuple.
x = ("apple", "banana", "cherry") y = list(x) y[1] = "kiwi" x = tuple(y) print(x) >>> ("apple", "kiwi", "cherry")
Thêm phần tử vào tuple
Vì các Tuplelà bất biến nên chúng không có phương thức append() nhưng có nhiều cách khác để thêm các mục vào một Tuple.
Cách 1: Chuyển đổi thành danh sách : Giống như giải pháp thay đổi một bộ dữ liệu, bạn có thể chuyển đổi nó thành một list, thêm (các) mục của mình và chuyển đổi lại thành một Tuple.
thistuple = ("apple", "banana", "cherry") y = list(thistuple) y.append("orange") thistuple = tuple(y)
Cách 2: Thêm một Tuplevào một Tuple. Bạn được phép thêm các bộ dữ liệu vào các bộ dữ liệu, vì vậy nếu bạn muốn thêm một (hoặc nhiều mục), hãy tạo một Tuple mới với (các) mục đó và thêm nó vào Tuple hiện có:
thistuple = ("apple", "banana", "cherry") y = ("orange",) thistuple += y print(thistuple)
Xoá phần tử trong tuple
Các Tuple không thể thay đổi được , do đó bạn không thể xóa các mục khỏi nó, nhưng bạn có thể sử dụng cách giải quyết tương tự như chúng tôi đã sử dụng để thay đổi và thêm các mục Tuple:
thistuple = ("apple", "banana", "cherry") y = list(thistuple) y.remove("apple") thistuple = tuple(y)
Giải nén Tuples
Khi tạo một Tuple, chúng ta thường gán giá trị cho nó. Việc này được gọi là “đóng gói” một bộ dữ liệu
Tuy nhiên, trong Python, chúng ta cũng được phép trích xuất các giá trị thành các biến. Điều này được gọi là “giải nén”:
fruits = ("apple", "banana", "cherry") (green, yellow, red) = fruits print(green) print(yellow) print(red)
Sử dụng dấu hoa thị(*)
Nếu số lượng biến nhỏ hơn số lượng giá trị, bạn có thể thêm *vào tên biến và các giá trị sẽ được gán cho biến dưới dạng danh sách:
fruits = ("apple", "banana", "cherry", "strawberry", "raspberry") (green, yellow, *red) = fruits print(green) print(yellow) print(red) >>> apple banana ['cherry', 'strawberry', 'raspberry']
Nếu dấu hoa thị được thêm vào một tên biến khác ngoài tên biến cuối cùng, Python sẽ gán giá trị cho biến đó cho đến khi số giá trị còn lại khớp với số biến còn lại.
Duyệt phần tử trong tuples
Sử dụng vòng lặp for
Bạn có thể lặp qua các mục trong bộ bằng cách sử dụng vòng lặp for.
thistuple = ("apple", "banana", "cherry") for x in thistuple: print(x)
Bạn cũng có thể lặp qua các mục trong bộ bằng cách tham khảo số chỉ mục của chúng.
Sử dụng các hàm range() và len() để tạo một vòng lặp phù hợp.
thistuple = ("apple", "banana", "cherry") for i in range(len(thistuple)): print(thistuple[i])
Sử dụng vòng lặp while
Bạn có thể lặp qua các mục trong bộ bằng cách sử dụng vòng lặp while.
Sử dụng hàm len() để xác định độ dài của Tuple, sau đó bắt đầu từ 0 và lặp theo cách của bạn qua các mục trong Tuplebằng cách tham khảo chỉ mục của chúng.
Hãy nhớ tăng chỉ số lên 1 sau mỗi lần lặp.
thistuple = ("apple", "banana", "cherry") i = 0 while i < len(thistuple): print(thistuple[i]) i = i + 1
Gộp các Tuples
Gộp hai Tuples
Để nối hai hoặc nhiều Tuple, bạn có thể sử dụng + toán tử:
tuple1 = ("a", "b" , "c") tuple2 = (1, 2, 3) tuple3 = tuple1 + tuple2 print(tuple3) >>> ('a', 'b', 'c', 1, 2, 3)
Nhân bản Tuple
Nếu bạn muốn nhân nội dung của một Tuplevới một số lần nhất định, bạn có thể sử dụng * toán tử:
fruits = ("apple", "banana", "cherry") mytuple = fruits * 2 print(mytuple) >>> ('apple', 'banana', 'cherry', 'apple', 'banana', 'cherry')
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData.
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: