for i in range(-1, 2):
pass
for i in [-1, 0, 1]:
pass
什麼是最好的?我認爲第二個選項有更好的可讀性?哪個更快?
Especifications:
- 我總是用python3
- 是的,我注意到了 「這是更快?」問題在某種程度上是愚蠢的。不要手工輸入足夠長的列表來手動注意差異。
for i in range(-1, 2):
pass
for i in [-1, 0, 1]:
pass
什麼是最好的?我認爲第二個選項有更好的可讀性?哪個更快?
Especifications:
使用range()
在技術上不只是打字出來的列表作爲range()
功能有慢一點創建一個列表並且需要〜0.012秒。
測試:
使用range()
了〜0.045秒。
使用具有相同字符數量的列表需要約0.033秒。
我建議您使用range()
,因爲它更容易,0.012秒的小差異不值得。
我希望這有助於!
如果你知道如何記住您的列表意味着你可以用列表去..
例如:你的情況,你有[-1,0,1]
在這裏,你可以很容易地記住...
讓,
考慮你想循環這個列表 - >[-4,-3,-2,-1,0,1,2,3,4]
你會嘗試這個還是下面的一個?
>>> range(-4,5)
[-4, -3, -2, -1, 0, 1, 2, 3, 4]
範圍()將幫助您生成動態列表...
,如果你想這是最好的手段, 你應該想想你的用例..
,如果你要使用一旦列表去xrange xrange將返回生成器消耗內存比範圍更少..因爲
range
返回Python列表對象和xrange
返回的xrange對象這樣你就可以使用一次..
'xrange'不返回生成器。 –
是的更改..謝謝 –
哪個python版本?範圍從2.x到3.x的工作方式不同。 – lapinkoira
'range(-1,2)'更具可讀性;性能和內存使用的差異可以忽略 –
爲什麼你認爲會有速度差異,你試圖實現什麼 – Bg1850