Skip to main content
 首页 » 编程设计

python之将作为字符串列表的字典值转换为整数列表

2025年05月04日32powertoolsteam

我有一个字典,其中的键是字符串列表(是数字),如下所示:

 mydict = {'green': ['-1', '0'], 
 'orange': ['-1', '0', '9'], 
 'red': ['-1', '0'], 
 'yellow': ['0'], 
 'white': ['-1'], 
 'black': ['-1'], 
 'pink': ['-1']} 

现在我想将值转换为整数,这样:

mydict = {'green': [-1, 0], 
     'orange': [-1, 0, 9], 
     'red': [-1, 0], 
     'yellow': [0], 
     'white': [-1], 
     'black': [-1], 
     'pink': [-1]} 

我试过使用列表理解

mydict_int =dict((k,int(v)) for k,v in mydict.items()) 

但是它抛出一个错误:

TypeError: int() argument must be a string, a bytes-like object or a number, not 'list' 

请您参考如下方法:

您不能直接将列表转换为 int,但您可以使用列表推导式单独转换它们的元素:

mydict_int = dict((k, [int(s) for s in v]) for k,v in mydict.items())