2010-04-22 75 views

Trả lời

75

Theo cách thông thường sẽ là slicing:

for item in your_list[:n]: 
    ... 
2

danh sách Python là O (1) truy cập ngẫu nhiên, vì vậy chỉ cần:

for i in xrange(n): 
    print list[i] 
+7

Kết nối với chỉ mục thường là điều đáng để tránh. –

+1

Vâng, cắt là tốt hơn; Tôi không nghĩ về nó –

19

Tôi muốn có thể sử dụng itertools.islice (< - theo các liên kết cho các tài liệu), trong đó có lợi ích của làm việc với bất kỳ iterable vật.

+1

Lưu ý rằng khi bạn có một danh sách, nó thường đơn giản hơn chỉ để sử dụng slicing (trừ khi bạn phải lo lắng về vấn đề sử dụng bộ nhớ hoặc một cái gì đó như thế). Nếu đây không phải là đoạn * đầu tiên * nhưng nếu đó là đoạn sau thì việc cắt thông thường có thể nhanh hơn và đẹp hơn. –

+0

Đủ công bằng. Cộng với cắt thường xuyên là súc tích hơn, mà OP dường như quan tâm đến ... –

9

Bạn chỉ có thể cắt danh sách:

>>> l = [1, 2, 3, 4, 5] 
>>> n = 3 
>>> l[:n] 
[1, 2, 3] 

và sau đó lặp trên slice như với bất kỳ iterable.

+0

Cắt có vẻ như giải pháp rõ ràng, ngắn gọn, rõ ràng. –

Các vấn đề liên quan