python - 根据字典项目更改列表
问题描述
您好,我有一个列表,如下所示:
>>>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 一样。
我究竟做错了什么?
解决方案
也许字典键不是您认为的格式?也许字典包含整数,同时 id 是字符串。我会对此进行调查,似乎类型不匹配比空(或不匹配)字典更多。
推荐阅读
- r - 在 R 中重新创建 spss GEE 回归表
- python - 尝试将 Python 列表传递到 SQL 查询时出现 SQL 错误
- c# - 使用 C# 从 SPItemEventProperties 访问上传的 Sharepoint 文件
- r - 如何从 DDMMYYY:HH:MM:SS 将时间从日期时间剥离到 DDMMYYYY
- java - Swagger UI 基本身份验证不起作用,但 curl 可以
- r - 想要摆脱具有某些名称的列
- java - RDF4J 和 GEOSparql 空间函数不起作用(或未实现)
- spring-boot - Spring Boot 2 http.httpBasic().disable(); 不工作
- python - 使用python包pymysql在MySQL数据库中插入错误
- c# - 如何实现接受更多消息的 Socket 服务器