首页 > 解决方案 > 根据字典项目更改列表

问题描述

您好,我有一个列表,如下所示:

>>>ids
 '70723295',
 '75198124',
 '140',
 '199200',
 '583561',
 '71496270',
 '69838760',
 '70545907',
 ...]

我还有一本字典,给这些数字一个“名字”。现在我想创建一个仅包含名称的新列表,其顺序与之前的数字一样。所以用字典中的正确名称替换正确顺序的数字。

我试过了:

with open('/home/anja/Schreibtisch/Master/ABA/alltogether/filelist.txt') as f:
    ids = [line.strip() for line in f.read().split('\n')]

rev_subs = { v:k for v,k in dictionary.items()}
new_list=[rev_subs.get(item,item)  for item in ids]

#dict looks like:
 '16411': 'Itgax',
 '241041': 'Gm4956',
 '22419': 'Wnt5b',
 '20174': 'Ruvbl2',
 '71833': 'Dcaf7',
 ...}

但是 new_list 还是和 ids 一样。

我究竟做错了什么?

标签: pythondictionary

解决方案


也许字典键不是您认为的格式?也许字典包含整数,同时 id 是字符串。我会对此进行调查,似乎类型不匹配比空(或不匹配)字典更多。


推荐阅读