python - 如何高效地在一个数字中插入大量数字?

标签 python

假设我有一个数字 x,使得 x.length = 500。假设在位置 5 和 8,从左边开始,我想插入一个数字。但我想插入一个数字,使其遍历所有数字。所以本质上它经历了所有 10^2 种可能性。

然后我想遍历所有可能性并执行“if 语句”以返回正确的语句。

我考虑过将其更改为字符串,将其插入到我想要的位置,然后将其更改回数字。但我认为这可能效率很低。然后如果我想检查所有的数字,那就更加低效了。

我非常关心效率,因为我的目标是插入 2 个以上的数字。我想要 7 或 8 号,位置 125、315 等等。这是很大的 (10^8)。我也想再次检查所有这些数字。

我还没有编写代码,因为我不知道如何正确地执行此操作。

对不起我的英语

最佳答案

将 500 位数字转换为字符串,然后转换为列表,最后转换回数字

# Here's an example of a long number
big_number = 1111111111111111111111111111111111111111111111111

# Make it a string
big_number_string = str(big_number)

# Add each char to a list
big_num_list = [y for y in big_number_string]
# ['1','1','1','1','1',...]

# Insert '0' at index 10
big_num_list.insert(10, '0')
# [...'1','1','1','0','1',...]

# Join everything together and make it a number again
big_num_new = int(''.join(big_num_list))

print(big_num_new)
>> 11111111110111111111111111111111111111111111111111

关于python - 如何高效地在一个数字中插入大量数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55645722/

相关文章:

python - Scrapy,无法抓取任何页面: "TCP connection timed out: 110: Connection timed out."

python - 在 Spyder 中关闭多行提示

python - 通过入站邮件服务投递到特定版本

python - 如何判断任意矩形是否包含圆? (在pygame中)

python - 如何将多维数组传递给 pyopencl.algorithm.copy_if() -- PyOpenCL,

python - 如何安装 Pandas 0.20.0

python - 如何使用pdfminer从python中的pdf中提取字段

python - 使用 python-boto 启动 Openstack 实例

python - 执行此代码后不理解 a 和 b 的值

python - 使用多个列表作为函数的输入参数 (Python)