我有下面的字典和清单。我的字典包含列表中的值
d={'Ro06_244736': ['A/A/A/A', 'R37', 'C/C/C/C'], 'Ro06_244742': ['G/G/G/G', '35', 'A/A/A/A']}
l=['R37', '35']
我试图在我的列表和字典列表的值之间找到匹配的值,如果它们匹配,则将字典列表的值替换为“N/A”。匹配项可以位于任何元素。我想要以下输出
d2={'Ro06_244736': ['A/A/A/A', 'N/A', 'C/C/C/C'], 'Ro06_244742': ['G/G/G/G', 'N/A', 'A/A/A/A']}
我尝试了以下方法,但无效:
for a,b in d.items():
#print(a,b)
for n, i in enumerate(b):
#print(n,i)
for j in l:
#print(j)
if i == j:
print(i,j)
b[n] = "N/A"
print(b)
最好的方法是什么
我想做一个简单的列表理解,使用
set
(会更快,原始列表也可以)保存列表中的元素: 假设:一行:
结果:
以下代码替换列表中的任何位置
我相信这是因为你实际上并没有编辑原始列表,而是编辑了
d.items()
产生的副本编辑后,请尝试将副本重新分配到词典中
相关问题 更多 >
编程相关推荐