У меня следующая проблема: я пытаюсь создать так называемые «диграммы», например:
Если у меня есть слово foobar
, я хочу получить список или генератор, например:["fo", "oo", "ob", "ba", "ar"]
.Идеальная функция для этого - more_itertools.windowed
.Проблема в том, что он возвращает кортежи, как это:
In [1]: from more_itertools import windowed
In [2]: for i in windowed("foobar", 2):
...: print(i)
...:
('f', 'o')
('o', 'o')
('o', 'b')
('b', 'a')
('a', 'r')
Конечно, я знаю, что могу .join()
их, поэтому я бы получил:
In [3]: for i in windowed("foobar", 2):
...: print(''.join(i))
...:
...:
fo
oo
ob
ba
ar
Мне просто интересно,где-то в itertools
или more_itertools
есть функция, которую я не вижу, которая делает именно это.Или есть более «питонный» способ сделать это вручную?