Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Trích xuất phần tử trong nhiều phạm vi chỉ số (Multiple Index Ranges)

Khi cần trích xuất phần tử nằm trong nhiều phạm vi chỉ số khác nhau, ta dùng extend(), vòng lặp và slicing.

Ví dụ

my_list = [13, 21, 81, 10, 13, 17, 22, 18, 11, 90, 0]
print("List gốc:")
print(my_list)

print("Sau sắp xếp:")
my_list.sort()
print(my_list)

range_list = [(2, 4), (7, 8), (1, 2), (2, 7)]
my_result = []

for element in range_list:
    my_result.extend(my_list[element[0] : element[1] + 1])

print("Kết quả trích xuất:")
print(my_result)

print("Sau sắp xếp:")
my_result.sort()
print(my_result)

Kết quả đầu ra

List gốc:
[13, 21, 81, 10, 13, 17, 22, 18, 11, 90, 0]
Sau sắp xếp:
[0, 10, 11, 13, 13, 17, 18, 21, 22, 81, 90]
Kết quả trích xuất:
[11, 13, 13, 21, 22, 10, 11, 11, 13, 13, 17, 18, 21]
Sau sắp xếp:
[10, 11, 11, 11, 13, 13, 13, 13, 17, 18, 21, 21, 22]

Giải thích

  • List đã sắp xếp: [0, 10, 11, 13, 13, 17, 18, 21, 22, 81, 90].
  • Phạm vi (2,4) → index 2,3,4 → [11,13,13].
  • Phạm vi (7,8) → index 7,8 → [21,22].
  • Phạm vi (1,2) → index 1,2 → [10,11].
  • Phạm vi (2,7) → index 2..7 → [11,13,13,17,18,21].
  • extend nối tiếp các phần tử, cho phép trùng lặp.

Lưu ý: Phạm vi inclusive (bao gồm cả đầu và cuối) do element[1] + 1.