2017-05-11 2 views
1

Sagen, ich habe lst = [1, 2, 3] und ich möchte die letzten beiden Elemente in umgekehrter Reihenfolge zuzugreifen, wie in [3, 2]Wie macht man umgekehrtes Slicen in Python?

Wie, dass ich Slicing mit?

+1

Warum nicht einfach eine Vorwärtsscheibe umkehren: 'reversed (lst [-2:])'. Es ist nicht intuitiv, es in einem Stück zu tun: 'lst [: 0: -1]' – AChampion

Antwort

5

Einfach ausgedrückt Grenzen in der Scheibe:

>>> [1,2,3][-1:-3:-1] 
[3, 2] 

In der Scheibe -1:-3:-1:

  • das erste Element ist die Position, wo wir beginnen wollen (-1);
  • die zweite ist, wo wir aufhören möchten (nicht inklusive);
  • und die dritte ist die Richtung (oder überspringen) (rückwärts).
1
  • [-2 ::] werden die letzten beiden Elemente zurückkehren
  • [:: - 1] umkehren wird es

So ist die Antwort sein:

lst[-2::][::-1] 

Ich überprüft @ Donkopotamus Antwort und es ist eigentlich die beste Antwort

1

Holen Sie sich die letzten zwei ele mungen!

Und dann kehren Sie es um!

>>> lst 
[1, 2, 3] 
>>> lst[-2:][::-1] 
[3, 2] 
Verwandte Themen