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

如何用Python将列表中K转为1000倍、M转为1000000倍数值?

实现方法

可以通过遍历列表元素、识别后缀并转换数值的方式解决需求,以下是两种常用实现:

方法一:循环遍历处理

List1 = ['95.3k', '24.3k', '2.3M','22.1k', '21.6k', '18.2k', '16.2k', '15.7k', '15.5k', '11.2k', '10.2k', '10k', '9.9k', '1.2M', '9.6k', '9.2k', '7.5k', '6.9k', '7.2M', '6.8k', '6.7k', '6.1k', '6k']

processed_list = []
for item in List1:
    # 判断后缀类型并计算实际数值
    if item.endswith('k'):
        num = float(item[:-1]) * 1000
    elif item.endswith('M'):
        num = float(item[:-1]) * 1000000
    # 可选:处理无后缀的异常情况
    else:
        num = float(item)
    processed_list.append(num)

print(processed_list)

方法二:列表推导式简化代码

如果追求代码简洁,可以用列表推导式一行完成转换:

List1 = ['95.3k', '24.3k', '2.3M','22.1k', '21.6k', '18.2k', '16.2k', '15.7k', '15.5k', '11.2k', '10.2k', '10k', '9.9k', '1.2M', '9.6k', '9.2k', '7.5k', '6.9k', '7.2M', '6.8k', '6.7k', '6.1k', '6k']

processed_list = [float(item[:-1]) * 1000 if item.endswith('k') else float(item[:-1]) * 1000000 for item in List1]

print(processed_list)

补充说明

  • item[:-1] 用于截取字符串中除最后一位后缀外的数字部分
  • 若需要整数结果,可将 float 替换为 int,或者用 int(float(item[:-1]) * 1000) 做强制转换
  • 代码默认所有元素都带k/M后缀,若存在无后缀的元素,可保留方法一中的else分支做兼容处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 14:25:09