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

Lấy N phần tử đầu từ generator hoặc list trong Python

Sử dụng slice operator cho sequence data type để lấy N phần tử đầu từ list.

Ví dụ với list

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
first_5 = my_list[:5]
print(first_5)  # [1, 2, 3, 4, 5]

Với generator (iterator)

Generator không hỗ trợ slice trực tiếp. Dùng itertools.islice:

import itertools

def my_generator():
    for i in range(100):
        yield i

gen = my_generator()
first_5 = list(itertools.islice(gen, 5))
print(first_5)  # [0, 1, 2, 3, 4]

Python 3.8+: itertools.islice cũng làm việc với list

first_5 = list(itertools.islice(my_list, 5))