Bir dilim için bir tuple kullanmak için python'da herhangi bir yol var mı? aşağıdaki geçerli değil:Bir dilim kullanarak dilim oluşturma
>>> a = range(20)
>>> b = (5, 12) # my slice indices
>>> a[b] # not valid
>>> a[slice(b)] # not valid
>>> a[b[0]:b[1]] # is an awkward syntax
[5, 6, 7, 8, 9, 10, 11]
>>> b1, b2 = b
>>> a[b1:b2] # looks a bit cleaner
[5, 6, 7, 8, 9, 10, 11]
O yüzden ben bunu yapamam şaşırıyorum oldukça pythonic sözdizimi gibi görünüyor.
(güncelleme) Ve çözüm olarak çıkıyor:
>>> a[slice(*b)]
[5, 6, 7, 8, 9, 10, 11]
. Eğer bir [* b] 'yazabilirsem daha pythonic olurdu. Tabii ki bu, çok boyutlu dizilerle çatışacak, böylece sıradan dilimleme sözdizimi hala daha iyi. Dilimleme kelimesinin eklenmesi uzun sürmektedir, ancak muhtemelen kodun amacını çok daha açık bir şekilde göstermektedir. – Mike