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. 转换值的列表到数组
这个问题是怎么产生的? –