gpt4 book ai didi

python - 在 Python 中获取整数的一部分

转载 作者:太空狗 更新时间:2023-10-30 01:41:27 30 4
gpt4 key购买 nike

是否有一种优雅的方式(可能在 numpy 中)来获取 Python 整数的给定部分,例如,假设我想从 1990< 获取 90/.

我能做到:

my_integer = 1990
int(str(my_integer)[2:4])
# 90

但它很丑。

还有其他选择吗?

最佳答案

1990 % 100 就可以了。

(% 是模运算符,返回除法的余数,这里是 1990 = 19*100 + 90。)


在答案被接受后添加:

如果你需要通用的东西,试试这个:

def GetIntegerSlice(i, n, m):
# return nth to mth digit of i (as int)
l = math.floor(math.log10(i)) + 1
return i / int(pow(10, l - m)) % int(pow(10, m - n + 1))

它将返回 i 的第 n 到第 m 个数字(作为 int),即

>>> GetIntegerSlice(123456, 3, 4)
34

不确定它是否比您的建议有所改进,但它不依赖于字符串操作并且编写起来很有趣。

(注意:在进行除法之前转换为 int(而不是最后仅将结果转换为 int)使得它也适用于长整数。)

关于python - 在 Python 中获取整数的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36378479/

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