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 trong python có tác dụng gì?
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