2
我想選擇沒有第一個元素的列表元素。下面的代碼工作,但它有點看起來難看簡單的python列表理解問題
[s[i] for i in range(len(s)) if i>0]
有沒有更好的方式來寫它?謝謝
我想選擇沒有第一個元素的列表元素。下面的代碼工作,但它有點看起來難看簡單的python列表理解問題
[s[i] for i in range(len(s)) if i>0]
有沒有更好的方式來寫它?謝謝
使用切片表示法:
s[1:]
或者,你能避免這樣複製列表:
itertools.islice(s, 1, None)
結果是不是列表 - 它不支持隨機訪問,實例 - 但你可以將它傳遞給接受迭代器的任何東西。
會不會s[1:]
是正確的?
+1 fir'islice'。 – delnan 2010-12-12 21:58:34
爲了完整起見,當你想從更大的列表中切出時,「islice」有點問題。它創建一個迭代器,然後通過調用'next',可能多次,走到片的起點。切片速度非常快,因爲Python只需複製列表結構而不需要數據。 – 2010-12-12 23:12:24