You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将数字提取至不同变量?类似Excel LEFT/RIGHT函数的提取方法

问题解答

1. 将数字12345提取到不同变量中

以Python为例,有两种实用方法:

  • 字符串转换法:把数字转为字符串后按索引提取,再转回整数
num = 12345
num_str = str(num)
a = int(num_str[0])  # 提取第一位:1
b = int(num_str[1])  # 提取第二位:2
c = int(num_str[2])  # 提取第三位:3
d = int(num_str[3])  # 提取第四位:4
e = int(num_str[4])  # 提取第五位:5
  • 数学运算分离法:通过整除和取余操作拆分每一位
num = 12345
e = num % 10  # 提取最后一位:5
d = (num // 10) % 10  # 提取第四位:4
c = (num // 100) % 10  # 提取第三位:3
b = (num // 1000) % 10  # 提取第二位:2
a = num // 10000  # 提取第一位:1

2. 实现类似Excel LEFT/RIGHT函数提取收盘价

以下是Python实现,支持示例中的提取逻辑:

自定义函数实现

def left(target, param):
    target_str = str(target)
    # 处理范围参数(如"2:1"),提取指定位置的数字(按1位索引)
    if isinstance(param, str) and ':' in param:
        pos = int(param.split(':')[0])
        return int(target_str[pos-1])
    # 提取前n位数字
    else:
        return int(target_str[:param])

def right(target, n):
    # 提取后n位数字
    target_str = str(target)
    return int(target_str[-n:])

示例使用

close_price = 123
x = left(close_price, 1)    # 对应left(1),结果为1
y = left(close_price, "2:1")# 对应left(2:1),结果为2
z = right(close_price, 1)   # 对应right(1),结果为3
print(f"x = {x}, y = {y}, z = {z}")

输出结果:x = 1, y = 2, z = 3

内容的提问来源于stack exchange,提问作者jeez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:52:42