Практические примеры усечения
Реальные сценарии усечения списков
Техники обработки данных
## Handling large datasets
raw_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
## Truncate to first 5 elements
top_five = raw_data[:5]
print("Top 5 elements:", top_five)
## Truncate to last 3 elements
bottom_three = raw_data[-3:]
print("Bottom 3 elements:", bottom_three)
Распространенные шаблоны усечения
Сценарий |
Метод усечения |
Применение |
Пагинация (Pagination) |
list[:page_size] |
Разделение данных на страницы |
Выбор топ-N (Top N Selection) |
list[:n] |
Выбор лучших элементов |
Удаление хвоста (Tail Trimming) |
list[:-n] |
Удаление последних n элементов |
Продвинутые методы усечения
## Complex data filtering
students = [
{"name": "Alice", "score": 85},
{"name": "Bob", "score": 92},
{"name": "Charlie", "score": 78},
{"name": "David", "score": 95},
{"name": "Eve", "score": 88}
]
## Truncate to top performers
top_performers = sorted(students, key=lambda x: x['score'], reverse=True)[:3]
print("Top 3 Performers:")
for student in top_performers:
print(f"{student['name']}: {student['score']}")
Визуализация рабочего процесса усечения
graph TD
A[Original List] --> B{Truncation Condition}
B -->|First N Elements| C[Slice from Start]
B -->|Last N Elements| D[Slice from End]
B -->|Conditional| E[Filter/Map]
C --> F[Truncated List]
D --> F
E --> F
Усечение с учетом производительности
## Memory-efficient truncation
def truncate_large_list(input_list, max_length):
"""
Efficiently truncate large lists
"""
return input_list[:max_length]
## Example usage
huge_list = list(range(1000000))
manageable_list = truncate_large_list(huge_list, 1000)
print(f"Truncated list length: {len(manageable_list)}")
Обработка ошибок при усечении
def safe_truncate(input_list, start=None, end=None):
try:
return input_list[start:end]
except (TypeError, IndexError) as e:
print(f"Truncation error: {e}")
return []
## Safe truncation examples
sample_list = [1, 2, 3, 4, 5]
print(safe_truncate(sample_list, 1, 4)) ## Normal slice
print(safe_truncate(sample_list, 10)) ## Out of range handling
LabEx рекомендует овладеть этими практическими методами усечения, чтобы повысить свои навыки манипуляции данными на Python.