Powiedzmy, że mój ciąg ma 10 znaków.
Jak usunąć ostatnią postać?
Jeśli mój ciąg to "abcdefghij"
(nie chcę zastępować 'j'
znaku, ponieważ mój ciąg może zawierać wiele 'j'
znaków), chcę tylko ostatniego znaku. Niezależnie od tego, co to jest i ile razy występuje, muszę usunąć ostatni znak z mojego ciągu.
Odpowiedzi:
Prosty:
Istnieje również inny sposób, który pokazuje, jak to zrobić za pomocą kroków:
Jest to również sposób wprowadzania danych przez użytkownika:
Aby usunąć ostatnie słowo z listy:
źródło
st[-1]
to tylko ostatnia postaćst
st
jest pusty. Cóż, nadal zwróci pusty ciąg, ale nie dostaniesz błędu.[i[:-1] for i in ['blue','red','green']]
list.pop()
metoda jest właściwą drogą do czynienia z listami, ponieważ usuwa ostatni element na miejscuO(1)
, a[:-1]
wycinanie tworzy kopię listy bez ostatniego elementu naO(n-1)
czas plusO(n-1)
spacja. Ciągi są niezmienne - więc nic do dodania.To, co próbujesz zrobić, to rozszerzenie krojenia ciągów w Pythonie:
Powiedzmy, że wszystkie ciągi mają długość 10, ostatni znak do usunięcia:
Aby usunąć ostatnie
N
znaki:źródło