Lấy sublist

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

3.1 Phạm vi chỉ số

Lấy sublist từ list là một nhiệm vụ phổ biến có thể được giải quyết bằng cách sử dụng cơ chế slices (slicing). Slices cho phép trích xuất các phần tử từ list bằng cách chỉ định chỉ số bắt đầu và kết thúc của phạm vi, cùng với bước nhảy để trích xuất các phần tử.

Sử dụng slices

Có thể lấy slice của list bằng cách sử dụng cú pháp list[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 mà các phần tử được chọn.

Cú pháp slices cho phép chỉ định chỉ số bắt đầu và kết thúc của list mà bạn muốn trích xuất. Nhớ rằng chỉ số trong Python bắt đầu từ 0, nghĩa là phần tử đầu tiên có chỉ số 0 và phần tử thứ ba có chỉ số 2.


my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# Lấy sublist từ phần tử thứ ba đến phần tử thứ bảy 
sub_list = my_list[2:7]
print(sub_list)  # [2, 3, 4, 5, 6]
            
# Lấy mỗi phần tử thứ hai của list
step_list = my_list[0:10:2]
print(step_list)  # [0, 2, 4, 6, 8]

Nếu start không được chỉ định, mặc định nó là đầu list, và nếu stop không được chỉ định — là cuối list. Nếu step không được chỉ định, mặc định nó là 1.

Ví dụ:


my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# Từ đầu đến phần tử thứ ba 
sub_list = my_list[:3]
print(sub_list)  # [0, 1, 2]
            
# Từ phần tử/chỉ số đầu tiên đến cuối
step_list = my_list[1:]
print(step_list)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

3.2 Chỉ số âm

Trong Python, chỉ số âm cung cấp một cách mạnh mẽ để làm việc với list, cho phép truy cập các phần tử từ cuối list. Điều này đặc biệt hữu ích để lấy sublist mà không cần biết độ dài chính xác của list gốc.

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

Ví dụ sử dụng

Giả sử bạn có một list:


my_list = ['a', 'b', 'c', 'd', 'e']

Để lấy ba phần tử cuối cùng, có thể sử dụng slice với chỉ số âm:


sub_list = my_list[-3:]
print(sub_list)  # Sẽ in ['c', 'd', 'e']

Nếu cần lấy sublist giữa một số phần tử, bắt đầu từ cuối, có thể kết hợp giữa chỉ số âm và chỉ số dương:


sub_list = my_list[-4:3]
print(sub_list)  # Sẽ in ['b', 'c']

Có thể thậm chí đảo ngược danh sách

Bằng cách sử dụng tham số step, có thể tạo ra các slice phức tạp hơn, chẳng hạn để trích xuất các phần tử theo thứ tự đảo ngược:


sub_list = my_list[::-1]
print(sub_list)  # Sẽ in ['e', 'd', 'c', 'b', 'a'] 

Lợi ích của việc sử dụng chỉ số âm:

  • Đơn giản hoá mã: Truy cập các phần tử từ cuối list trở nên dễ hiểu và không cần thêm bất kỳ tính toán nào.
  • Tính linh hoạt: Phương pháp này hoạt động với bất kỳ list nào, không phân biệt kích thước của nó.
  • Tính dễ đọc: Mã trở nên dễ đọc và hiểu hơn, đặc biệt khi cần làm việc với các phần tử cuối cùng của list.

Chỉ số âm là một công cụ mạnh mẽ trong kho vũ khí của lập trình viên Python, cho phép quản lý sublist một cách hiệu quả và ngắn gọn, cải thiện tính dễ đọc và linh hoạt của mã.

3.3 Có phần tử nào trong danh sách không?

Kiểm tra sự tồn tại của một phần tử trong list thường được sử dụng để quản lý luồng dữ liệu và logic của chương trình. Trong Python, có thể làm điều này bằng cách sử dụng toán tử in, toán tử này trả về True nếu phần tử có mặt trong list, và False trong trường hợp ngược lại.

Sử dụng toán tử in

Toán tử in là một cách đơn giản và dễ hiểu để kiểm tra sự tồn tại của phần tử:


my_list = [1, 2, 3, 4, 5]
element = 3
exists = element in my_list
print(exists)  # Sẽ in True 

Ứng dụng trong các biểu thức điều kiện

Toán tử in thường được sử dụng trong các câu lệnh điều kiện, chẳng hạn như:


my_list = ["apple", "banana", "cherry"] 
element = "apple"
            
if element in my_list:
    print("Phần tử có trong danh sách.")
else:
    print("Không tìm thấy phần tử.")

Hữu ích! Tìm kiếm phần tử bằng in hiệu quả cho các list nhỏ hoặc trung bình. Tuy nhiên, đối với dữ liệu lớn hoặc các thao tác tìm kiếm thường xuyên, có thể hiệu quả hơn khi sử dụng các cấu trúc dữ liệu khác như set (set), cung cấp khả năng tìm kiếm nhanh hơn.

2
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Cắt lát
Cắt lát
2
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Tìm kiếm chuỗi
Tìm kiếm chuỗi
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION