gpt4 book ai didi

Python。是否可以从变量值不断增加的循环中制作单行代码?

转载 作者:行者123 更新时间:2023-11-28 22:30:06 24 4
gpt4 key购买 nike

如果我开始问一个重复的问题,但我对此一无所获,我深表歉意。如果可以以不同的方式提出问题,请随时提出建议或编辑。

目标是将任何基于 n 的整数转换为十进制整数。

from string import digits, ascii_uppercase


def convert_n_to_10(number, n):
alphabet = digits + ascii_uppercase
result_10 = 0
for i in range(len(str(number))):
result_10 = result_10 * n + alphabet.index(str(number)[i])
return result_10

问题是关于从这个循环中生成单行代码的可能性,其中 result_10 变量的值不断增加。

for i in range(len(str(number))):
result_10 = result_10 * n + alphabet.index(str(number)[i])

谢谢。

最佳答案

直接转向

    result_10 = 0
for i in range(len(str(number))):
result_10 = result_10 * n + alphabet.index(str(number)[i])
return result_10

进入这个:

    return reduce(lambda result_10, i: result_10 * n + alphabet.index(str(number)[i]),
range(len(str(number))),
0)

请注意,我只是简单地复制并粘贴了主要部分(计算表达式、可迭代对象和初始值),甚至没有阅读它们。

(在 Python 3 中,您需要从 functools 模块导入 reduce。)

关于Python。是否可以从变量值不断增加的循环中制作单行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42591176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com