dict={
"samp1":"x",
"samp2":"x",
"exp1":"x"
}
li = [F"samp{i}" for i in range(1,11)]
ex = {k:v for k, v in dict.items() if k in li}
print(ex)
输出:
{'samp1': 'x', 'samp2': 'x'}
另一个(感谢@OlvinRoght的isDecimal):
dict = {
"samp1":"x",
"samp2":"x",
"samp12":"x",
"samp":"x",
"sampxyz":"x",
"exp1":"x"
}
ex = {k:v for k, v in dict.items() if k.startswith("samp") and k[4:].isdecimal() and (0 < int(k[4:]) <= 10) }
print(ex)
请尝试以下操作:
我建议在这里使用
re.match
检查key
是否以指定的模式开始:或者,您可以使用
startswith
,也可以使用tuple
:为了指出代码中的错误,我尝试修改min。尝试一下(使用f-string和dict-comprehension):
输出:
另一个(感谢@OlvinRoght的
isDecimal
):输出:
相关问题 更多 >
编程相关推荐