首页 > 解决方案 > 如何从 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]}

标签: pythondictionary

解决方案


尝试替换此行:

        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(',')]))

推荐阅读