01/10/2018, 14:33

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)
HK boy viết 16:36 ngày 01/10/2018

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.

Tran Luan viết 16:44 ngày 01/10/2018

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

HK boy viết 16:48 ngày 01/10/2018

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>
Bài liên quan
0