将数字写入数组
我想用一个很长的数字分开的数字来计算。如何在Python2.7中做到这一点?我考虑过以某种方式将数字写入数组,以便可以使用array(x)访问数字:
number = 123456789123456789
array = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9]
问题在于,该数字有很多位数,因此手动进行将花费很长时间。那么我如何自动执行此操作?
-
print map(int, str(number))
str
函数将转换number
为字符串。map
函数将函数应用于int
字符串化数字的每个元素,以将字符串转换为整数。输出量
[1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9]
如果您在一个循环中一次又一次地这样做,像,然后列表的理解会比更快
map
的方法number = 123456789123456789 from timeit import timeit print timeit("map(int, str(number))", "from __main__ import number") print timeit("[int(dig) for dig in str(number)]", "from __main__ import number")
在我的机器上输出
12.8388962786 10.7739010307