3
A
回答
2
4
如果他們喜歡這個數字,
sum(digit * 10 ** place for place, digit in enumerate(reversed(x)))
5
>>> listvar = [1,2,3,4,5]
>>> reduce(lambda x,y:x*10+y, listvar, 0)
12345
1
出人意料的是,這是更快的大名單:
$ python -m timeit -s "x=[1,2,3,4,5,6,7,8,9,0]*100" "int(str(x)[1:-1].replace(', ', ''))"
10000 loops, best of 3: 128 usec per loop
$ python -m timeit -s "x=[1,2,3,4,5,6,7,8,9,0]*100" "int(''.join(map(str, x)))"
10000 loops, best of 3: 183 usec per loop
$ python -m timeit -s "x=[1,2,3,4,5,6,7,8,9,0]*100" "reduce(lambda x,y:x*10+y, x, 0)"
1000 loops, best of 3: 649 usec per loop
$ python -m timeit -s "x=[1,2,3,4,5,6,7,8,9,0]*100" "sum(digit * 10 ** place for place, digit in enumerate(reversed(x)))"
100 loops, best of 3: 7.19 msec per loop
但對於非常小的列表(?也許更常見),這一個是最慢的。
+0
我不明白你爲什麼決定在大於9的列表項目中做什麼是正確和錯誤的事情。 OP似乎沒有提及任何東西。 –
+0
(我也沒有看到爲什麼計時這是合適的和建設性的,我們當然不會確定主要基於microbenchmarks使用什麼代碼。) –
+0
@Mike你說得對,我已經改變了我的代碼。正如上面提到的那樣,這個時機只適用於大型列表的情況。 – eph
相關問題
- 1. 轉換字符串列表到一個單一的整數
- 2. 轉換一個列表這是一個字節到整數
- 3. 轉換到一個列表
- 4. 轉換一個項目列表爲一個整數
- 5. 可以將一個列表轉換爲一個整數
- 6. 轉換XML數據到一個列表
- 7. 如何將一串數字轉換爲一個整數列表?
- 8. 轉換一個JSON的價值反對
- 9. 轉換表列到另一個表
- 10. 如何將包含單個整數的列表轉換爲整數列表?
- 11. 轉換多列到單個基於另一列值蟒蛇
- 12. 轉換一個CSV列表到一個數組
- 13. defaultdict(名單)連接所有的值轉換成一個列表
- 14. 將一個字符串轉換到一個數組或浮點值列表
- 15. 轉換多個數組單一陣列
- 16. 轉換相同排列到一個單一的陣列
- 17. 轉換列表:字典,其值的列表中列出一個
- 18. 如何ast.Tuple轉換到一個列表
- 19. 轉換一個映射到列表
- 20. 轉換值一列單行的Python
- 21. 將一個整數轉換爲另一個整數
- 22. 將字符串轉換爲一個列表和轉換元素爲整數
- 23. 轉換整數列表轉換爲字符串只有一個逗號在Python
- 24. 轉換數組到另一個陣列
- 25. 得到另一個表的價值
- 26. 轉換一個Python數據列表一個bash陣列
- 27. 轉換一個數據表來JSON與具有值數組列
- 28. 轉換的NSDate一個整數
- 29. 轉換單個列值成一個單一的行中的SQL預言
- 30. 轉換值的列表到數組
這個問題是怎麼產生的? –