【发布时间】:2021-12-03 14:51:23
【问题描述】:
拥有这本词典和列表:
input_list = {"This_is_House1_Test1": "one", "Also_House2_Mother": "two", "Fefe_House3_Father": "three"}
house_list = [1, 2]
对于上面的示例,我有house_list 与1 和2,所以我只想在字典中保留包含House1 或House2 的键,并删除其余的。
我想要的上述简化输入的输出是:
{"This_is_House1_Test1": "one", "Also_House2_Mother": "two"}
这是我没有运气的尝试:
for key in list(input_list.keys()):
for house_id in house_list:
if "House" + str(house_id) not in key:
input_list.pop(key)
提前致谢!
【问题讨论】:
-
HouseN是否总是被下划线包围? -
如果你有一个带“House13”的钥匙,那会怎样?
-
并非总是如此,@jarmod
-
不,@DaniMesejo,只是
House1或Houuse2。在house_list = [1, 2, 13]的情况下应该包含它。 -
与@eh329 的回答有关,input_list 中的值(例如“one”、“two”)始终保证是键中门牌号的英文表示(例如 1 表示House1, 2 for House2)?
标签: python arrays dictionary