Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何根据条件从字典提取到另一个字典?_Python 3.x_Dictionary - Fatal编程技术网

Python 3.x 如何根据条件从字典提取到另一个字典?

Python 3.x 如何根据条件从字典提取到另一个字典?,python-3.x,dictionary,Python 3.x,Dictionary,需要将其值不等于200的提取到另一个字典。 我可以做到这一点,如下所示 Input : t1_dict = {"k1":{"api1":200,"api2":500,"api3":200},"k2":{"api1":500,"api2":200,"api3":500}} Output: t2_dict = {'k2': {'api'1:

需要将其
值不等于200的
提取到另一个字典。
我可以做到这一点,如下所示

Input :
t1_dict = {"k1":{"api1":200,"api2":500,"api3":200},"k2":{"api1":500,"api2":200,"api3":500}}

Output:
t2_dict = {'k2': {'api'1: 500,'api3':500}, 'k1': {'api2': 500}}
可以用更好的方式吗?有哪一种班轮或其他最佳解决方案?任何优化?

备选方案一衬板(设置后):

这里找到的顶级解决方案是这个想法的根源,我只是将它嵌套在另一个循环中:


希望这有帮助

我不知道是谁和为什么否决了这个问题。有没有更好、更有效的方法?我对你的问题投了反对票,因为它没有显示出任何研究成果。这个问题被问了好几次(dict of dicts dictionary comphrension filter…)。您可以删除或改进您的问题以恢复您的声誉。@cronoik:谢谢。这正是我需要的。不知道多层次字典的字典一行。
t2_dict = {}
   for k1,v1 in api_status.items():
      t2_dict[k1] = {}
      for k2, v2 in v1.items():
         if v2 != 200:
            t2_dict[k1][k2] = v2
#Value to exclude
Value=200

t1_dict={"k1":{"api1":200,"api2":500,"api3":200},"k2":{"api1":500,"api2":200,"api3":500}}

t2_dict = {j:{k:v for k,v in t1_dict[j].items() if v != Value} for j in t1_dict}

print(t2_dict)