Lấy tuple con

Python SELF VI
Mức độ , Bài học
Có sẵn

12.1 Phạm vi của chỉ số

Code để lấy tuple con trông giống như lấy một phần của danh sách. Ở khía cạnh này, tuples khá giống với danh sách. Không muốn lặp lại tài liệu, nhưng việc ôn tập là mẹ của học tập…

Lấy tuple con, hay còn gọi là slicing, cho phép trích xuất một phần của tuple để tạo thành một tuple mới. Quá trình này đặc biệt hữu ích khi bạn cần làm việc với các đoạn dữ liệu nhất định được lưu trữ trong tuple.

Cú pháp slicing

Slices được tạo ra bằng cách sử dụng ngoặc vuông, bên trong chỉ rõ chỉ số bắt đầu và kết thúc, ngăn cách bởi dấu hai chấm. Nếu không chỉ rõ chỉ số bắt đầu, slice sẽ bắt đầu từ phần tử đầu tiên; nếu không chỉ rõ chỉ số kết thúc, slice sẽ lấy đến hết tuple.

Có thể lấy slice tuple bằng cú pháp tuple[start:stop:step], trong đó:

  • start — chỉ số bắt đầu của phần tử (bao gồm);
  • stop — chỉ số kết thúc của phần tử (không bao gồm);
  • step — bước nhảy của phần tử.

Ví dụ:


my_tuple = (0, 1, 2, 3, 4, 5)
sub_tuple = my_tuple[1:4]  # Lấy tuple con từ chỉ số 1 đến 3
print(sub_tuple) # Sẽ in ra (1, 2, 3)
            
sub_tuple_with_step = my_tuple[0:6:2]  # Lấy mỗi phần tử thứ hai từ 0 đến 5
print(sub_tuple_with_step) # Sẽ in ra (0, 2, 4) 
        

Nếu start không được chỉ rõ thì mặc định là 0, và nếu stop không được chỉ rõ — thì sẽ là len(tuple). Tham số step mặc định là 1.

Ví dụ:


# Tạo tuple với các phần tử từ 0 đến 5
my_tuple = (0, 1, 2, 3, 4, 5)

# Tạo tuple mới, bắt đầu từ phần tử thứ hai của tuple gốc
sub_tuple = my_tuple[1:] 
print(sub_tuple)  # Sẽ in ra: (1, 2, 3, 4, 5)

# Tạo tuple mới, từ phần tử đầu đến phần tử thứ tư 
# (chỉ số 4) của tuple gốc, với bước nhảy là 1 (mặc định)
sub_tuple_with_step = my_tuple[:5] 
print(sub_tuple_with_step)  # Sẽ in ra: (0, 1, 2, 3, 4)

12.2 Chỉ số âm

Chỉ số âm trong Python bắt đầu từ -1, tương ứng với phần tử cuối cùng của danh sách (hoặc tuple). -2 sẽ chỉ ra phần tử áp chót và cứ thế. Sử dụng chỉ số âm giúp dễ dàng truy cập phần tử từ cuối tuple mà không cần tính toán vị trí của chúng từ đầu.

Ví dụ sử dụng

Hãy xem xét việc sử dụng chỉ số âm để tạo slice. Giả sử chúng ta có một tuple với các giá trị:


my_tuple = (10, 20, 30, 40, 50, 60, 70, 80)

Để lấy một tuple con chứa các phần tử từ cuối đến giữa tuple, chúng ta có thể sử dụng chỉ số âm.


sub_tuple = my_tuple[-3:-1]
print(sub_tuple) # Sẽ in ra (60, 70)

Như vậy, my_tuple[-3:-1] chọn các phần tử từ chỉ số -3 (thứ ba từ cuối) đến -1 (không bao gồm cuối), sẽ cho ra tuple (60, 70).

Lấy phần tử cuối cùng của tuple:


my_tuple = (10, 20, 30, 40, 50)
last_element = my_tuple[-1]
print(last_element) # Sẽ in ra 50 
    

Ở đây, my_tuple[-1] luôn trả về phần tử cuối cùng của tuple, rất tiện lợi khi số lượng phần tử trong tuple không rõ ràng.

Đảo ngược các phần tử của tuple:


my_tuple = (10, 20, 30, 40, 50)
reversed_tuple = my_tuple[::-1]
print(reversed_tuple) # Sẽ in ra (50, 40, 30, 20, 10) 
    

Sử dụng slice [::-1] giúp dễ dàng và hiệu quả để đảo ngược thứ tự các phần tử trong tuple, tạo ra một tuple mới với các phần tử theo thứ tự ngược lại.

12.3 Có phần tử trong tuple hay không

Kiểm tra xem một phần tử có trong tuple không là một thao tác tiêu chuẩn để biết phần tử có mặt trong tuple hay không. Điều này được thực hiện bằng cách sử dụng toán tử in, trả về True nếu phần tử có mặt trong tuple, và False nếu không.

Sử dụng toán tử in

Toán tử in là cách đơn giản và trực quan để kiểm tra sự hiện diện của phần tử:


my_tuple = (1, 2, 3, 4, 5)
element = 3
if element in my_tuple:
    print(f"{element} is in the tuple.")
else:
    print(f"{element} is not in the tuple.")
    

Kiểm tra phần tử không có mặt:

Nếu bạn muốn chắc rằng phần tử không có mặt trong tuple, chỉ cần sử dụng cấu trúc not in:


names = ('Alice', 'Bob', 'Charlie')
search_name = 'Alice'
if search_name not in names:
    print(f"{search_name} không có trong tuple.")
else:
    print(f"{search_name} có trong tuple.")
    

Hầu như không khác gì so với làm việc với danh sách — đây là sự đa năng và đơn giản của Python.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION