View Discussion Show Improve Article Save Article View Discussion Improve Article Save Article Sometimes, while working with Python tuple list, we can have a problem in which we need to find the average of tuple values in the list. This problem has the possible application in many domains including mathematics. Let’s discuss certain ways in which this task can be performed. Method #1 : Using loops
Output : The original list is : [(1, 4, 5), (7, 8), (2, 4, 10)] The mean of tuple list is : 13.666666666666666 Method #2 : Using
Output : The original list is : [(1, 4, 5), (7, 8), (2, 4, 10)] The mean of tuple list is : 13.666666666666666 Với anh em nào chưa biết xài Tuple, bài viết này giúp đỡ được, với anh em nào đã xài Tuple và quên té cái giống và khác với List, đọc bài này cũng ổn. Nói chung là bài viết Tuple Python này dành cho mọi người, mọi trình độ. Đọc vui anh em nhớ ủng hộ nha!. Viết khá cụ thể, giống, khác, ví dụ ví dại rõ ràng đầy đủ. Bắt đầu ngay thôi nào! Bắt đầu với đặc sản là lướt qua định nghĩa. A Tuple is also a sequence data type that can contain elements of different data types, but these are immutable in nature. In other words, a tuple is a collection of Python objects separated by commas. The tuple is faster than the list because of static in nature. Tuple là kiểu dữ liệu chuỗi bao gồm nhiều các thành phần có kiểu dữ liệu khác nhau, nhưng nó là không thể thay đổi được. Nói một các khác, tuple là một object Collection phân cách nhau bằng dấu phẩy. Tuple nhanh hơn List cũng ở chỗ này, do tĩnh (static) không thể thay đổi được. Sau định nghĩa thì là syntax, làm gì thì làm vẫn phải lướt qua syntax nha. Ví dụ này bao gồm nhiều loại tuples lun ha. # Nhiều loại tuple # Empty tuple tuple_rong = () print(tuple_rong) # Tuple bao gồm toàn số tuple_toan_so = (1, 2, 3) print(tuple_toan_so) # Tuple nhiều loại dữ liệu tuple_nhieu_loai_du_lieu = (true, "Kieu Chuoi", 5.2) print(tuple_nhieu_loai_du_lieu) # Tuple kết hợp nhiều loại tuple_hon_hop = ("hon hop", [true, false, 6], (9, 2, 3)) print(tuple_hon_hop) Chỗ nhanh chậm này mình sẽ phân tích kỹ ở mục khác nhau cho anh em. Nhưng mà biết được tuple là immutable rồi thì cái nào không đổi nhớ dùng tuple nha. Không chơi lầy chày cối List nha. Biết là nhanh nhưng đôi khi cứ chày cối xài List2. Sử dụng Tuple2.1 Sử dụng2.1.1 Phương thức hỗ trợTuple cũng hỗ trợ 2 phương thức chính là count và index. Do tính chất immutable nên chắc chắn không thể có các method add và remove nha. tuple_phuong_thuc = ('t', 'u', 'p', 'l', 'e', 'e', ) print(tuple_phuong_thuc.count('e')) # Output: 2 print(tuple_phuong_thuc.index('l')) # Output: 3 2.1.2 Xóa tupleXóa một phần tử trong tuple # Xóa tuple như thế nào xoa_tuple = ('x', 'o', 'a', 't', 'a', 't', 'c', 'a') # Tuple không hỗ trợ xóa phần tử do là immutable del xoa_tuple[3] # Nhưng có thể xóa toàn bộ tuple del xoa_tuple # Lỗi, xoa_tuple không được định nghĩa print(xoa_tuple) 2.1.3 Negative index (index âm)Truy cập với index âm, tuple cho phép access với index âm nha anh em. # Index âm thì tuple sẽ index từ sau ra trước tuple_index_am = ('t', 'o', 'p', 'd', 'e', 'v') # Output: 'v' print(tuple_index_am[-1]) # Output: 't' print(tuple_index_am[-6]) 2.1.4 SlicingTuple cũng hỗ trợ cắt các giá trị trong tuple, lưu ý là lấy giá trị để sử dụng chứ về mặt bản chất là không thay đổi được tuple đã định nghĩa ban đầu nha. # Truy cập tuple với slicing my_tuple = ('t','r','u','y','c','a','p','i','z') # Phần tử 1 cho tới 4, có tổng 3 # Output: ('r', 'u', 'y') print(my_tuple[1:4]) 2.2 Một số lưu ýTrường hợp chưa muốn định nghĩa giá trị, có thể định nghĩa một Tuple empty như sau: # Nếu chưa có sẵn các giá trị nhưng vẫn muốn sử dụng tuple, ta có thể thoải mái định nghĩa tuple empty tuple_empty = () Có điều empty thì dễ, nhưng có 1 thì nhớ thêm dấu phẩy (comma) vào nha anh em. Mỗi dấu phẩy thôi nhưng mà quan trọng nha. Không add thì python không hiểu là Tuple đâu á. # Nếu chưa có sẵn các giá trị nhưng vẫn muốn sử dụng tuple, ta có thể thoải mái định nghĩa tuple empty tuple_empty = ("kien dep trai",) Rồi, biết ông đẹp trai rồi, nói hoài. Bài nào cũng ví dụ. Khổ ghê =))). Ví dụ phía trên toàn là cùng kiểu dữ liệu như string hay integers. Lỡ mà tui cần mix nhiều data types (kiểu dữ liệu) với nhau thì được không?. Được chớ sao không? You can create a tuple or a list that contains just a sequence of strings, just a sequence of integers, or just a sequence of Boolean values, with each item in the sequence separated by a comma. Bạn có thể tạo tuple hoặc list bao gồm danh sách các chuỗi, hoặc số, hoặc các giá trị boolean. Chỉ cần các nhau các item bởi dấu phẩy là được # Với tuple mixed thoải mái nha anh em my_information = tuple("Kien",27,True,"xau",7,"trai",False) Rồi đó, vừa lòng chưa =))). Phía trên quên ví dụ quên cái dấu phẩy, nếu thiếu sẽ báo lỗi nha anh em # Nhớ dấu phẩy (comma) nha anh em >>>tuple_loi = ("Kie" 50,True,"Blog",50) File "<stdin>", line 1 >>>tuple_loi = ("Kie" 50,True,"Blog",50) ^ SyntaxError: invalid syntax Tuyển dụng Python mọi cấp độ tại đây! 3. Giống ghê, giữa tuple và listTheo như cái định nghĩa cụ thể rõ ràng của Tuple ở phía trên, thì rõ ràng cả hai ông thần Tuple trong python và List trong python đều có thể lưu nhiều giá trị vào duy nhất một biến. Rõ là thế, điểm giống đầu tiên: 3.1 Cú pháp (syntax)# List lưu nhiều giá trị trong một biến duy nhất tuple_1 = ["Hoc", "Python", "Khong", "Khó"]. # Tuple cũng lưu nhiều giá trị trong duy nhất 1 biến tuple_2 tuple_2 = ("Hoc", "Python", "Khong", "Khó") Phía trên là ví dụ về sự giống nhau giữa Tuple và List. Đáng ra sẽ nói vào mục khác nhau, nhưng thôi do khác rành rành ra nên nói luôn ở đây. The only difference is in the syntax: you create tuples by surrounding the items inside them with opening and closing round brackets, 3.2 Truy cập (access)Cả tuple và list đều là ordered collection nha anh em (có thứ tự). Thứ tự này thì không thể thay đổi được ngay sau khi đã tạo ra. Cái này cũng được gọi là định danh duy nhất (unique identifier – index). Cả list và tuple đều bắt đầu với index là 0 cho phần tử đầu tiên, 1 cho phần tử thứ hai. # Cả List và Tuple đều access bằng index >>>ten = ("Nguyen","Le","Trung","Kien") >>>ten[2] 'Le' >>>ngon_ngu_lap_trinh = ["Python","JavaScript","Java","C"] >>>ngon_ngu_lap_trinh[0] 'Python' 3.3 Unpacking (bẻ ra – dịch tạm thế nha)Cả list và tuple sau khi khai báo, anh em có thể phân tích từng item trong đó ra và gán cho các biến khác. Có ví dụ thì dễ phân tích hơn. # Khai báo tuple trước (không đẹp xấu gì nữa), tên bỏ đi 1 chữ lót, tính Le là chữ lót nha >>>ten_toi = ("Nguyen","Le","Kien") # Giờ muốn lấy họ, tên lót và tên ra thành các biến, 3 biến phía dưới nha >>>ho,ten_lot,ten = ten_toi >>>ho 'Nguyen' >>>ten_lot 'Le' >>>ten 'Kien' Bóc tách từng giá trị trong tuple và list ra và gán cho các biến khác độc lập thì gọi là unpacking. Cả list và tuple trong Python đều hỗ trợ nha. 4. Ơ thế tuple và list khác nhau gì không?Xin thưa là có, từ nhỏ bé xinh xinh cho tới lớn lớn cũng xinh xinh. Cái này mình cũng nói ở trên rồi ha. Nho nhỏ nhưng nhớ được thì tốt. 4.1 Mutable và immutabe (thay đổi và không thay đổi)Đầu tiên cũng là các khác biệt rõ ràng nhất. List thì có thể thay đổi được, nhưng tuple thì không. Một khi đã khai báo tuple thì không thể thay đổi giá trị trong đó. # List có thể thay đổi được phần tử list_co_the_doi = [4, 2, 3] list_co_the_doi[1] = 9 print(list_co_the_doi) = [9, 2, 3] # Tuple thì cần nha, không cần Python không hiểu tuple_khong_doi = (4, 2, 3, [6, 5]) # Lỗi, không thể gán giá trị cho tuple # tuple_khong_doi[1] = 9 4.2 Tốc độDo tuple là immutable (không thể thay đổi), nên tốc độ duyệt hoặc lấy theo index của tuple rất nhanh, hơn List. List chậm hơn so với tuple về cả mặt thời gian và bộ nhớ (memory).Nguồn ảnh / Source: afshin.io
5. Tham khảo thêm về tuple trong pythonÀ anh em xài tuple nhớ đặt tên mục đích nha, như list. Chứ không là phải nhìn value từng item trong đó để mà hiểu á. Code clean, please follow the rule!. Nhớ đặt tên vàoCảm ơn anh em đã đọc bài – Thank you for your time – Happy coding! Tác giả: Kiên Nguyễn Xem thêm:
Top IT Jobs hot dành riêng cho Top Developers tại TopDev! |