L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
head = 'head'
tail = 'tail'
いくつかの反復可能(L)のイテレータしか取得できないと仮定できます。それは次のようであるでこのパターンをPythonイテレータを使って印刷する方法
'head123tail'
'head456tail'
'head789tail'
'head10tail'
私の試み: と我々はL. の長さを知ることができないのと反復可能を印刷することが可能ということです。
L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
head = 'head'
tail = 'tail'
slice_size = 3
i = iter(L)
try:
while True:
counter = 0
while counter < slice_size:
e = next(i)
if counter == 0:
print(head, end='')
print(e, end='')
counter += 1
else:
print(tail)
except StopIteration:
if counter > 0:
print(tail)
あなたはあなたの「頭」をバッファする必要があり、そして次の後にのみ、それを印刷しますイテレータ内の次のものを消費せずに予測することはできないため、成功しました。 –
@ Jacques、あなたの提案に感謝します。私は予備的な質問を修正する。 – minion