Menu
CoddyTech

Cắt lát danh sách phần 2

Thuộc phần Nền tảng cơ bản trong hành trình Python của Coddy. Bài học 65 trên 77.

Phép cắt còn có tham số bước: lst[start:stop:step]. Ví dụ, hãy xem danh sách này:

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

Lấy mỗi phần tử thứ hai từ chỉ số (index) 1 đến 8:

print(numbers[1:8:2])
# Đầu ra: [1, 3, 5, 7]

Lấy mọi phần tử thứ ba, bắt đầu từ chỉ số 2:

print(numbers[2::3])
# Đầu ra: [2, 5, 8]

Phép cắt cũng hỗ trợ chỉ số âm.

Đếm từ cuối:

print(numbers[-3:])
# Đầu ra: [7, 8, 9]

Ở đây, -3 có nghĩa là “bắt đầu từ vị trí thứ 3 tính từ cuối”.

Đếm đến cuối:

print(numbers[:-2])    
# Đầu ra: [0, 1, 2, 3, 4, 5, 6, 7]

Ở đây, -2 có nghĩa là “dừng trước vị trí thứ 2 tính từ cuối” (không bao gồm vị trí đó)

Đảo ngược với bước âm:

print(numbers[::-1])
# Đầu ra: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  • Khoảng trống trước : đầu tiên có nghĩa là “bắt đầu từ đầu” (hoặc “bắt đầu từ cuối” khi bước là số âm)
  • Khoảng trống giữa các : có nghĩa là “đi đến cuối” (hoặc “đi đến đầu” khi bước là số âm)
  • -1 có nghĩa là “di chuyển lùi từng bước một” 
challenge icon

Thử thách

Dễ

Tạo một chương trình nhận một danh sách làm đầu vào (đã cho) và in ra ba danh sách mới dựa trên các thao tác cắt lát sau:

  • Một danh sách chứa mỗi phần tử thứ ba, bắt đầu từ chỉ số 1 (phần tử thứ hai)
  • Một danh sách chứa tất cả phần tử từ phần tử thứ 6 đến phần tử thứ 1 theo thứ tự ngược lại
  • Một danh sách chứa mỗi phần tử thứ hai, bắt đầu từ giữa danh sách đến cuối danh sách

Tự làm thử

lst = input().split(",")
# Viết code của bạn bên dưới
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Nền tảng cơ bản

Tự luyện tập: Trình biên dịch Python online