Giả sử tôi có danh sách object_list chứa các đối tượng.Python kiểm tra chỉ mục đầu tiên và cuối cùng của danh sách
Tôi muốn kiểm tra xem lần lặp hiện tại của tôi có đang ở lần đầu tiên hay lần cuối cùng.
for object in object_list:
do_something
if first_indexed_element:
do_something_else
if last_indexed_element:
do_another_thing
Làm cách nào để đạt được điều này? Tôi biết rằng tôi có thể sử dụng phạm vi và đếm chỉ số nhưng nếu cảm thấy vụng về.
Trân
+1 để sử dụng trình lặp thay vì số chỉ mục. Trong câu hỏi của OP, tất cả các đối tượng được xử lý với do_something, và xử lý đặc biệt được thực hiện với đầu tiên và cuối cùng. Trong mã của bạn, bạn thực hiện xử lý đặc biệt cho mục đầu tiên, nhưng không xử lý từng mục. Tôi nghĩ bạn chỉ cần đảo ngược 2 câu lệnh trong mệnh đề try: để có được hành vi mong muốn. – PaulMcG
Khá phức tạp. Không chính xác tác giả muốn ('do_first_thing_with' nên được gọi sau' do_something_with' đầu tiên). –
có khả năng là giải pháp hiệu quả nhất (+1), nhưng tiếc là không phải là rất ngắn gọn/dễ dàng để grok. – wds