Tôi muốn tạo đối tượng slice từ một chuỗi; ngay bây giờ, cách duy nhất có vẻ như thông qua một tuyên bố tội phạm rườm rà đánh giápython tạo đối tượng slice từ chuỗi
class getslice:
def __getitem__(self, idx): return idx[0]
eval("getslice()[%s, 1]" %(":-1"))
cảm ơn trước.
Chỉnh sửa: Xin lỗi nếu lời nhắc ban đầu không rõ ràng, đầu vào trong trường hợp này là ": -1". Vấn đề là phân tích chuỗi. Phản hồi của Ignacio Vazquez-Abrams ít nhất đã giải quyết vấn đề (và dường như cũng làm việc với chỉ mục ngược), nhưng tôi nghĩ giải pháp của tôi ở trên vẫn rõ ràng hơn nếu không làm sạch khái niệm (và sẽ hoạt động chính xác nếu Python thay đổi cú pháp cắt).
Bạn có thể trở thành một chút rõ ràng hơn về hành vi bạn đang tìm kiếm? –
-1: Tại sao bạn tạo một đối tượng slice độc lập? Slices là các phần tử cú pháp hạng nhất? Nếu không có bất kỳ lý do gì về lý do tại sao bạn làm điều này, câu hỏi này rất kỳ quặc. –
Jaffe: câu hỏi được cập nhật. Lott: Tôi đang làm một chút công việc ngôn ngữ, và cũng muốn sử dụng các lát Python. Các đối tượng thực sự là khá hữu ích: nó có một chỉ số (len) chức năng mà sẽ cung cấp cho một (bắt đầu, dừng lại, tăng) cho một chiều dài mảng – gatoatigrado