{"id":13926,"date":"2024-03-15T08:09:09","date_gmt":"2024-03-15T08:09:09","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/"},"modified":"2025-08-06T01:14:27","modified_gmt":"2025-08-06T01:14:27","slug":"how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/","title":{"rendered":"Search Nested Dictionaries in Python"},"content":{"rendered":"<p>To search for values in a multi-layer nested dictionary, you can achieve this by using recursion. Recursion is a method of a function calling itself, allowing it to search through each layer of the nested dictionary until it finds the desired value or traverses through all dictionaries.<\/p>\n<p>Below is an example code demonstrating how to use recursion to search for values in a dictionary with multiple nested layers.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">find_value<\/span>(<span class=\"hljs-params\">dictionary, target_key<\/span>):\r\n    <span class=\"hljs-keyword\">for<\/span> key, value <span class=\"hljs-keyword\">in<\/span> dictionary.items():\r\n        <span class=\"hljs-keyword\">if<\/span> key == target_key:\r\n            <span class=\"hljs-keyword\">return<\/span> value\r\n        <span class=\"hljs-keyword\">elif<\/span> <span class=\"hljs-built_in\">isinstance<\/span>(value, <span class=\"hljs-built_in\">dict<\/span>):\r\n            result = find_value(value, target_key)\r\n            <span class=\"hljs-keyword\">if<\/span> result <span class=\"hljs-keyword\">is<\/span> <span class=\"hljs-keyword\">not<\/span> <span class=\"hljs-literal\">None<\/span>:\r\n                <span class=\"hljs-keyword\">return<\/span> result\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">None<\/span>\r\n\r\n<span class=\"hljs-comment\"># \u793a\u4f8b\u5b57\u5178<\/span>\r\nmy_dict = {\r\n    <span class=\"hljs-string\">'a'<\/span>: <span class=\"hljs-number\">1<\/span>,\r\n    <span class=\"hljs-string\">'b'<\/span>: {\r\n        <span class=\"hljs-string\">'c'<\/span>: <span class=\"hljs-number\">2<\/span>,\r\n        <span class=\"hljs-string\">'d'<\/span>: {\r\n            <span class=\"hljs-string\">'e'<\/span>: <span class=\"hljs-number\">3<\/span>,\r\n            <span class=\"hljs-string\">'f'<\/span>: <span class=\"hljs-number\">4<\/span>\r\n        }\r\n    }\r\n}\r\n\r\n<span class=\"hljs-comment\"># \u67e5\u627e\u503c<\/span>\r\nresult = find_value(my_dict, <span class=\"hljs-string\">'f'<\/span>)\r\n<span class=\"hljs-built_in\">print<\/span>(result)  <span class=\"hljs-comment\"># \u8f93\u51fa: 4<\/span>\r\n<\/code><\/pre>\n<p>In the example above, the function find_value takes two parameters: dictionary, which represents the dictionary to search, and target_key, which represents the key to look for. The function iterates through the key-value pairs of the dictionary, and if the current key is equal to the target key, it returns the corresponding value. If the current value is a dictionary, the find_value function is called recursively to continue searching the next level of the dictionary. If the target key is not found after iterating through all dictionaries, None is returned.<\/p>\n<p>You can replace the dictionary and target key values in the sample code with your own data to achieve specific search functionality.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To search for values in a multi-layer nested dictionary, you can achieve this by using recursion. Recursion is a method of a function calling itself, allowing it to search through each layer of the nested dictionary until it finds the desired value or traverses through all dictionaries. Below is an example code demonstrating how to [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[18721,18577,72,212,9631],"class_list":["post-13926","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-dictionary-search","tag-nested-dictionary","tag-python","tag-python-programming","tag-recursion"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Search Nested Dictionaries in Python - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn recursion techniques to search values in multi-level nested Python dictionaries with code examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Search Nested Dictionaries in Python\" \/>\n<meta property=\"og:description\" content=\"Learn recursion techniques to search values in multi-level nested Python dictionaries with code examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T08:09:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T01:14:27+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"Search Nested Dictionaries in Python\",\"datePublished\":\"2024-03-15T08:09:09+00:00\",\"dateModified\":\"2025-08-06T01:14:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/\"},\"wordCount\":187,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"dictionary search\",\"nested dictionary\",\"Python\",\"Python programming\",\"Recursion\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/\",\"name\":\"Search Nested Dictionaries in Python - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T08:09:09+00:00\",\"dateModified\":\"2025-08-06T01:14:27+00:00\",\"description\":\"Learn recursion techniques to search values in multi-level nested Python dictionaries with code examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Search Nested Dictionaries in Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Search Nested Dictionaries in Python - Blog - Silicon Cloud","description":"Learn recursion techniques to search values in multi-level nested Python dictionaries with code examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/","og_locale":"en_US","og_type":"article","og_title":"Search Nested Dictionaries in Python","og_description":"Learn recursion techniques to search values in multi-level nested Python dictionaries with code examples.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T08:09:09+00:00","article_modified_time":"2025-08-06T01:14:27+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"Search Nested Dictionaries in Python","datePublished":"2024-03-15T08:09:09+00:00","dateModified":"2025-08-06T01:14:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/"},"wordCount":187,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["dictionary search","nested dictionary","Python","Python programming","Recursion"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/","name":"Search Nested Dictionaries in Python - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T08:09:09+00:00","dateModified":"2025-08-06T01:14:27+00:00","description":"Learn recursion techniques to search values in multi-level nested Python dictionaries with code examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-search-for-values-in-a-multi-level-nested-dictionary-with-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Search Nested Dictionaries in Python"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13926"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13926\/revisions"}],"predecessor-version":[{"id":157935,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13926\/revisions\/157935"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13926"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}