首页 > 解决方案 > 从dict值python中删除最后一个字符

问题描述

我有一个字典:

base = [
    {'num': 10, 'bet': '100EUR'},
    {'num': 22, 'bet': '10EUR'},
    {'num': 10, 'bet': '210EUR'},
    {'num': 11, 'bet': '100EUR'},
    {'num': 8, 'bet': '50EUR'},
    {'num': 10, 'bet': '10EUR'},
    {'num': 8, 'bet': '30EUR'},
    {'num': 32, 'bet': '10EUR'}]

我试图从所有“赌注”值中删除最后 3 个符号,并将结果从 str 变为 int- 所以我的基础变成这样:

base = [
        {'num': 10, 'bet': 100},
        {'num': 22, 'bet': 10},
        {'num': 10, 'bet': 210},
        {'num': 11, 'bet': 100},
        {'num': 8, 'bet': 50},
        {'num': 10, 'bet': 10},
        {'num': 8, 'bet': 30},
        {'num': 32, 'bet': 10}]

这个怎么做?谢谢!

标签: pythondictionarysymbols

解决方案


你真的有一个字典列表;您可以通过迭代然后按名称直接更改其中的值

for subdict in base:
    subdict["bet"] = int(subdict["bet"].replace("EUR", ""))

故意发现列表中的错误值是脆弱的(如果失败或您有其他结构,则提高ValueError非整数键);.replace()您还可以(例如)通过"USD" subdict["bet"]在进行转换之前检测子字符串来将其扩展到其他货币(尽管您也希望转换货币)


推荐阅读