Re: [問題] python slice -- out of range

看板Python作者 (荒圍!定厝!賊!妹!)時間11年前 (2013/06/24 02:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《Arim (Arim5566)》之銘言: : 各位版友好 : 最近很常用python的slice : 想要請教一下 : a=[1,2,3,4] : a[0:99] # [1,2,3,4] : 貌似如果超過範圍也沒關係,會印出全部的資料 : 所以在任何情況下其實我如果要從某個index印出全部的資料的話 : 例如a[1:99] #從第1筆資料印到最後一筆,其實我這個slice的第二個index可以隨便 : 亂給? : 請問python這樣子設計的原因是? : 謝謝 http://docs.python.org/2/reference/datamodel.html#object.__getslice__ 這是古早的python用來實作slice的special method, 他提到若沒有第二個index時會用sys.maxint而不是該序列的長度, 會如此作應該是因為拿長度會浪費效率(O(n)),不如直接用個大數(O(1))。 因此第二個index可大於長度即為這種做法的side effect。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.13.159
文章代碼(AID): #1HnpUjfP (Python)
文章代碼(AID): #1HnpUjfP (Python)