2024-05-19 08:37:41 发布
网友
我想用一个很长的数的分开的数字来计算。我如何在Python2.7中做到这一点?我想把数字写在数组中,这样我就可以用数组(x)访问数字:
number = 123456789123456789 array = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9]
问题是,这个数字有太多的数字,手工操作要花很长时间。那我怎么能自动完成呢?在
你也可以使用列表理解链接这个。在
array = [int(x) for x in str(number)]
您可以像这样使用^{}、^{}和^{}函数
print map(int, str(number))
str函数将number转换为字符串。在
str
number
map函数将int函数应用于stringifed number的每个元素,以将字符串转换为整数。在
map
int
输出
如果您一次又一次地这样做,比如在循环中,那么列表理解将比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
作为一种选择,纯数学解如下。通过反复除以10并取余数,可以提取每个数字。在
n = 123456789123456789 result = [] while n != 0: n, d = divmod(n, 10) result.append(int(d)) result.reverse() print result # [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9]
你也可以使用列表理解链接这个。在
您可以像这样使用^{} 、^{} 和^{} 函数
str
函数将number
转换为字符串。在map
函数将int
函数应用于stringifed number的每个元素,以将字符串转换为整数。在输出
^{pr2}$如果您一次又一次地这样做,比如在循环中,那么列表理解将比
map
方法更快在我的机器上输出
作为一种选择,纯数学解如下。通过反复除以10并取余数,可以提取每个数字。在
相关问题 更多 >
编程相关推荐