2012-06-22 14 views
8

Powiel możliwe:
Good Primer for Python Slice Notation
reverse a string in PythonDlaczego ten "[:: - 1]" zwraca odwróconą listę w Pythonie?

Widziałem ten składni pojawiają się w ciągu kilku fragmentów kodu widziałem ostatnio i jestem ciekaw, co to robi. Jeśli mam my_list = [1,2,3,4,5] i wykonuję my_list[::-1], otrzymuję listę z elementami odwróconymi [5,4,3,2,1]. Czy ktoś mógłby mi wyjaśnić, co tak naprawdę robi i pokazać różnicę między notacją [:] a [::]? Albo przynajmniej odsyłaj mnie do zasobu, który to robi.

Jestem pewien, że gdybym miał dobrą książkę Pythona, byłaby tam, ale ja nie. Niemożliwe jest wyszukiwanie w Google czegoś takiego, ponieważ [::] zostanie zignorowane. Dzięki!

+2

Istnieje wiele postów na ten temat. Kiedyś zapytałem o to samo i kazano przeszukać .. i znalazłem grupę, która to wyjaśnia. – Levon

+1

[Ten na przykład] (http://stackoverflow.com/questions/509211/good-primer-for-python-slice-notation) i [ten jeden] (http://stackoverflow.com/questions/766141/ reverse-a-string-in-python? lq = 1) – Levon

+1

Dzięki, Levon! Właśnie tego szukałem. –

Odpowiedz

22

Nie ma różnicy między [:] i [::].

Ale coś innego: ma ujemny parametr kroku. Brak parametrów start i stop oznacza kompletną tablicę. Parametr kroku ujemnego oznacza, że ​​dane są pobierane w odwrotnej kolejności, od końca do początku.

+0

@pawan kumar Dziękujemy za edycję. Ale pytanie, z którym się łączysz, jest już powiązane na samym szczycie pytania. – glglgl

Powiązane problemy