首页 > 解决方案 > 将字典值从元组转换为列表(python)

问题描述

所以我有一个data.txt包含汽车信息的文件:

汽车|价格|RPM

丰田|21,000|3,600

本田|19,000|4,000

通过将此数据文件传递给函数createCarDictionary,我能够创建一个字典,该字典将汽车品牌创建为键,并将值作为 txt 文件中存储为元组的剩余信息:

dict1 = {}

def createCarDictionary(datafile):
    for line in datafile.splitlines():
        key, value, value2 = map(str.strip, line.split('|'))
        dict1[key] = value, value2
    return dict1

datafile = open('data.txt', 'r').read()

createCarDictionary(datafile)
print(dict1)

输出

{'CAR': ('PRICE', 'RPM'), 'TOYOTA': ('21,000', '3,600'), 'HONDA': ('19,000', '4,000')}

所以我的问题是:我必须在函数中添加什么以1)删除数字中的逗号和2)将元组值转换为列表,以便我以后可以操作它们。

标签: pythonlistdictionarytuples

解决方案


您可以简单地用括号将您的值括起来,使它们成为 alist而不是tuple,并用于replace()从每一行中删除所有 ','。

dict1 = {}

def createCarDictionary(datafile):
    for line in datafile.splitlines():
        line = line.replace(',', '')
        key, value, value2 = map(str.strip, line.split('|'))
        dict1[key] = [value, value2]
    return dict1

datafile = open('data.txt', 'r').read()

createCarDictionary(datafile)
print(dict1)

输出:

{'HONDA': ['19000', '4000'], 'TOYOTA': ['21000', '3600'], 'CAR': ['PRICE', 'RPM']}

推荐阅读