一尘不染

将数字写入数组

python

我想用一个很长的数字分开的数字来计算。如何在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]

问题在于,该数字有很多位数,因此手动进行将花费很长时间。那么我如何自动执行此操作?


阅读 226

收藏
2021-01-20

共1个答案

一尘不染

您可以使用mapint而且str功能喜欢这个

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
2021-01-20