[英]remove last character from dict value 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}]
這該怎么做? 謝謝!
使用列表推導式將bet
鍵切片並轉換為int
base = [{'num': b['num'], 'bet': int(b['bet'][:-3])}
for b in base]
print(base)
你真的有一個字典列表; 您可以通過迭代然后按名稱直接更改其中的值
for subdict in base:
subdict["bet"] = int(subdict["bet"].replace("EUR", ""))
故意發現列表中的錯誤值是脆弱的(如果.replace()
失敗或您有其他結構,則為非 int 鍵引發ValueError
); 您還可以(例如)在進行轉換之前通過檢測像"USD"
subdict["bet"]
這樣的子字符串將其擴展到其他貨幣(盡管您也想轉換貨幣)
通過對值進行切片並轉換為int
來更新值:
for d in base:
d['bet'] = int(d['bet'][:-3])
輸出:
[{'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}]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.