python - 如何从 python 字典列表值中删除字符串''?
问题描述
以字符串文件名为参数的 loadInventory 函数从 inventory.txt 中读取内容
def loadInventory(filename):
inventory = {}
inventoryFile = open(filename)
for line in inventoryFile:
itemID,itemStock = line.split(":")
inventory[itemID] = itemStock
inventory = {itemID: itemStock for itemID, itemStock in inventory.items()}
inventory[itemID] = [itemStock.replace('\n', '')]
# print(f"{inventory}")
return inventory
def main():
print(loadInventory('Inventory.txt'))
main()
库存.txt:
C05:10,10,5,4
C01:0,20,10,5
C11:10,20,10,1
C03:0,0,10,0
C10:1,1,1,1
输出:
{'C05': ['10,10,5,4'], 'C01': ['0,20,10,5'], 'C11': ['10,20,10,1'], 'C03': ['0,0,10,0'], 'C10': ['1,1,1,1']}
预期输出:
{'C05':[10,10,5,4], 'C01':[0,20,10,5], 'C11':[10,20,10,1],
'C03':[0,0,10,0]}
解决方案
尝试替换此行:
inventory[itemID] = [itemStock.replace('\n', '')]
至:
inventory[itemID] = [int(i) for i in itemStock.replace('\n', '').split(',')]
或者:
inventory[itemID] = list(map(int, itemStock.replace('\n', '').split(',')]))
推荐阅读
- python-3.x - 动态设置方法的奇怪行为
- c++ - 什么是清单文件?
- c++ - 创作者设计选项卡不显示任何内容
- javascript - 如何将带有数据对象的数组转换为带有 javascripts 字符串的数组?
- azure - 错误的 URI 谷歌 OAuth 身份验证
- eclipse - JPA 密钥生成器选项
- python - 尝试安装 google-colab 模块。现在 Anaconda Navigator 将无法启动,即使在卸载、重新安装、更新、重置等之后也是如此
- python - 使用章节编号和名称信息的嵌套章节名称字典构建器
- c# - C# 中的异步文件 I/O 开销
- mysql - UPDATE INNER JOIN 花了很长时间,然后给了我一个 Lock Wait Timeout Exceeded 错误