def hide(iterable):
for v in iterable:
yield v
def strip_last(iterable,n):
counter = 0
for i in iterable:
counter += 1
if n == len(list(iterable)) - counter + 1:
return
yield i
print(''.join([v for v in strip_last(hide('camaro'), 1)]))
Ich versuche, eine strip_last Funktion zu definieren, die jeden Wert vom iterable mit Ausnahme der letzten n Werte erzeugen könnte, die wie folgt lautet:Python-Generator Drop bestimmte Anzahl Zeichen
camar
aber es gibt mir nur:
c
Was ist los damit ?? Danke!
Meinst du "Camaro" [: - n] '? – TigerhawkT3
ersetze 'i' durch' n': 'i == len (list (iterable)) - n:' Ich glaube auch nicht, dass du 'counter' brauchst. – ozgur
FWIW, Sie beziehen sich auf 'strip_last' als' drop_last' in Ihrer 'print'-Anweisung unter –