Trong các bài viết trước, Lập trình không khó đã giới thiệu cho các bạn 4 kiểu dữ liệu quan trọng trong python. Hôm nay chúng ta sẽ cùng nhau tìm hiểu kiểu dữ liệu quan trong cuối cùng, đó là tuple.
Tuple trong python là gì?
Tuple trong python là một kiểu dữ liệu dùng để lưu trữ các đối tượng không thay đổi về sau(như hằng số). Tuple khá giống list, điều khác biệt giữa chúng là list được đặt trong dấu ngoặc vuông, còn tuple trong python được đặt trong dấu ngoặc tròn và không thể thay đổi giá trị
ví dụ về tuple trong python:
name = ('annie', 'ashe', 'wukong', 'anivia')
Để viết một tuple trống, bạn cần viết dưới dạng hai dấu ngoặc đơn không chứa gì.
name = ()
Bạn cần chú ý khi tạo mộ tuple chỉ có một phần tử.
number = (1) print(type(number)) #<class 'int'> string = ("lap trinh khong kho") print(type(string)) #<class 'str'>
Trong ví dụ trên, tại sao khi bạn tạo một tuple trong python mà chỉ có một phần tử thì khi lấy kiểu dữ liệu của tuple đó lại là kiểu dữ liệu của phần tử?
Đó là do khi bạn viết một giá trị nào đó đặt trong cặp dấu ngoặc đơn thì nó được xem là một giá trị. Giống như bạn viết a = (1+2) vậy.
Thế nên trường hợp đó không được tính là tuple. Nếu tuple chỉ có một phần tử, bạn bắt buộc phải thêm dấu ,
ở cuối.
name = ('ryze',)
Hoặc bạn cũng có thể dùng tuple()
number = tuple([1]) print(number) #retunr (1,) string = tuple('yasuo') print(string) #return ('y', 'a', 's', 'u', 'o')
Truy cập các phần tử tuple trong python
Để truy cập đến các phần tử trong Tuple thì các bạn thực hiện tương tự như đối với chuỗi và list.
- Các phần tử trong Tuple được đánh dấu từ 0 theo chiều từ trái qua phải.
- Và ngược lại từ -1 theo chiều từ phải qua trái.
Vd:
name = ('anie', 'ashe', 'wukong', 'anivia') name[1] # ashe name[-2] # wukong
Tương tự như vậy, bạn cũng có thể lấy ra một tuple con trong tuple chính.
name = ('anie', 'ashe', 'wukong', 'anivia') name[:2] #('anie', 'ashe') name[1:3] #('ashe', 'wukong')
Xóa tuple trong python
Khi một tuple đã được khai báo thì chúng ta không thể sửa hay xóa các phần tử trong tuple. Mà chúng ta chỉ có thể xóa toàn bộ tuple đó đi mà thôi.
Để xóa toàn bộ tuple chúng tà dùng hàm del
name = ('anie', 'ashe', 'wukong', 'anivia') del name
Cập nhật các phần tử
Thực ra đây chỉ là cách lách luật thôi, chứ một tuple đã được khai báo thì chúng ta chỉ được gọi và không được sửa đổi hay thêm mới bất cứ một cái gì cả. Chúng ta có thể tạo ra được một tuple mới từ các tuple đã có bằng biểu thức +
hai tuple.
name1 = ('anie', 'ashe', 'wukong', 'anivia') name2 = ('riven', 'yasuo', 'katarina') name = name1+name2 print(name) #return ('anie', 'ashe', 'wukong', 'anivia', 'riven', 'yasuo', 'katarina')
Không giống như list, bạn không thể thay đổi các phần tử của Tuple. Nhưng, nếu phần tử của nó là một kiểu dữ liệu giống như List ta có thể thay đổi được.
my_tuple = (4, 2, 3, [6, 5]) my_tuple[3][0]= 7 print(my_tuple) #return (4, 2, 3, [7, 5])
Tuple lồng nhau
Cũng như list, các tuple trong python có thể lồng nhau.
name1 = ('anie', 'ashe', 'wukong', 'anivia') name = ('riven', 'yasuo', 'katarina', name1) print(name) #return ('riven', 'yasuo', 'katarina', ('anie', 'ashe', 'wukong', 'anivia'))
Các hàm liên quan để làm việc với tuple trong python
Hàm len()
Hàm này trả về số phần tử của tuple:
my_tuple = (4, 2, 3, 6, ) print(len(my_tuple)) #retrun 4
Hàm max(), min()
Hàm max
trả về giá trị lớn nhất, hàm min
trả về giá trị nhỏ nhất trong tuple.
my_tuple = (4, 2, 3, 6, ) print(max(my_tuple)) # max = 6 print(min(my_tuple)) # min =2
Hàm tuple()
Hàm tuple
dùng để tạo một tuple mới hoặc dùng để chuyển một list thành một tuple.
my_tuple = [4, 2, 3, 6] #chuyển một list thành một tuple print(tuple(my_tuple)) # return(4, 2, 3, 6) #tạo một tuple mới print(tuple([1,2,3,4,5])) # retrun (1, 2, 3, 4, 5)
Hàm count()
Hàm này trả về số lần xuất hiện một phần tử trong tuple.
my_tuple = (4, 2, 3, 6, 4, 5, 6) # đếm số lần xuất hiện của 4 trong tuple print(my_tuple.count(4)) # return 2
Hàm index()
Hàm này trả về vị trí xuất hiện đầu tiên của phần tử.
my_tuple = (4, 2, 3, 6, 4, 5, 6) #trả về vị trí xuất hiện đầu tiên của số 4 print(my_tuple.index(4)) # return 0 #trả về vị trí xuất hiện đầu tiên của số 4 bắt đầu từ vị trí số 3 print(my_tuple.index(4, 3)) #return 4 #trả về vị trí xuất hiện đầu tiên của số 4 trong khoảng 2->5 print(my_tuple.index(4, 2, 5)) #return 4
Các toán tử với tuple trong python
Toán tử +
Dùng để nối các tuple lại với nhau.
name1 = ('anie', 'ashe', 'wukong', 'anivia') name2 = ('riven', 'yasuo', 'katarina') name = name1+name2 print(name) #return ('anie', 'ashe', 'wukong', 'anivia', 'riven', 'yasuo', 'katarina')
Toán tử *
Dùng để nối nhiều bản sao chép của cùng một Tuple. Và tạo ra một Tuple mới.
my_tuple = (4, 2) print(my_tuple*3) #return (4, 2, 4, 2, 4, 2)
Toán tử in
và not in
Dùng để kiểm tra một phần tử có ở trong tuple hay không, kết quả trả về True hoặc False.
my_tuple = (4,5,6,7) print(4 in my_tuple) #return True print(6 not in my_tuple) #retrun False
Bài học của mình đến đây là kết thúc, hi vọng bài viết sẽ giúp các bạn hiểu hơn về kiểu dữ liệu tuple.
Hẹn các bạn vào các bài học sau!!!
Hãy tham gia group lập trình không khó để cùng thảo luận về các vấn đề về lập trình.
Để lại một bình luận