Tuples trong Python

Bởi Kiên Smart Data
0 Nhận xét

Ở 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ự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:

Bài viết liên quan

Để lại nhận xét

Copyright @2022 – Bản quyền thuộc Học viện dữ lệu Smart Data