Islice trong python có tác dụng gì?

def islice(iterable, *args):
    # islice('ABCDEFG', 2) --> A B
    # islice('ABCDEFG', 2, 4) --> C D
    # islice('ABCDEFG', 2, None) --> C D E F G
    # islice('ABCDEFG', 0, None, 2) --> A C E G
    s = slice(*args)
    it = iter(range(s.start or 0, s.stop or sys.maxsize, s.step or 1))
    try:
        nexti = next(it)
    except StopIteration:
        return
    for i, element in enumerate(iterable):
        if i == nexti:
            yield element
            nexti = next(it)
islice("ABCDEDF",2)

islice hơi giống slicing, nhưng nó chỉ cho phép các chỉ số start và stop có giá trị không âm.

1 Like

sao e cho chạy chương trình kia mà n k ra kết quả bác biết tại sao ko

Hàm kia là người ta đang diễn giải hàm islice tương đương với cái gì. islice là hàm, bạn phải in ra giá trị của hàm với mỗi tham số chứ.

>>> from itertools import islice
>>> print(islice('123456', 1, 6, 3))
<itertools.islice object at 0x05EE0360>
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?