2012-06-22 13 views
8

Olası Çoğalt: Ben son zamanlarda gördüm ve ben merak ediyorum bir kaç kod snippet'lerinde bu sözdizimi kırpma kadar gördüğüm
Good Primer for Python Slice Notation
reverse a string in PythonBu "[:: - 1]" neden Python'da tersine dönmüş bir liste döndürüyor?

neyi öyle. my_list = [1,2,3,4,5] varsa ve my_list[::-1] çalıştırırsam, [5,4,3,2,1] ters çevrilmiş öğeler içeren bir liste verilir. Birisi bana bunun gerçekten ne yaptığını açıklayabilir ve [:] notasyonu ve [::] arasındaki farkı gösterebilir mi? Ya da en azından beni bir kaynağa yönlendirin.

Eminim iyi bir Python kitabım olsaydı orada olurdu, ama yapmam. Ve [::] göz ardı edilir beri Google böyle bir şey için arama yapmak imkansız. Teşekkürler!

+2

Bu yazının bir çok yayını var .. Bir keresinde aynı şeyi sordum ve aramaya söylendi .. ve bunu açıklayan bir demet buldum. – Levon

+1

[Bu örneğin] (http://stackoverflow.com/questions/509211/good-primer-for-python-slice-notation) ve [bu] (http://stackoverflow.com/questions/766141/ ters-bir-string-in-python? lq = 1) – Levon

+1

Teşekkürler, Levon! Tam olarak aradığım şey bu. –

cevap

22

[:] ve [::] arasında bir fark yoktur.

Ancak [::-1] başka bir şey yapar: negatif bir adım parametresi vardır. Start ve stop parametrelerinin olmaması, tam diziyi ifade eder. Negatif adım parametresi, verilerin sondan başa doğru ters sırada alındığı anlamına gelir.

+0

@pawan kumar Düzenlemeniz için teşekkür ederiz. Ancak, bağlandığınız soru, sorunun en üstünde zaten bağlantılıdır. – glglgl

İlgili konular