{"id":44105,"date":"2020-05-05T10:21:03","date_gmt":"2020-05-05T14:21:03","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=44105"},"modified":"2022-11-21T09:45:28","modified_gmt":"2022-11-21T14:45:28","slug":"python-itertools-tutorial-part-i","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/","title":{"rendered":"Python Itertools Tutorial &#8211; Part I"},"content":{"rendered":"\n<p>Python itertools is quite simply, one of the best and elegant solutions to implement an iterator in Python. But what are Iterators?<\/p>\n\n\n\n<p>An iterator is an object that can be iterated upon and which will return data, one element at a time. It allows us to traverse through all elements of a collection, regardless of its specific implementation.<\/p>\n\n\n\n<p>While iterators are a great way to list the contents of a list, sometimes you wonder if we can just hide all the complexity into one single line of code. For example, we don\u2019t want to worry about the number of elements when we are comparing two different dataframes. This is where the Python itertools module shines through.<\/p>\n\n\n\n<p>Let\u2019s understand what are the prerequisites for using itertools.<\/p>\n\n\n\n<p><strong>Iterators and itertools in Python<\/strong><\/p>\n\n\n\n<p>Technically, in Python, an iterator is an object which implements the iterator protocol, which in turn consists of the methods <code>__next__()<\/code> and <code>__iter__()<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>__iter__()<\/code> method which returns the iterator object itself and is used while using the for and in keywords.<\/li><li><code>__next__()<\/code> method returns the next value. It also returns StopIteration error once all the objects have been tracked.<\/li><\/ul>\n\n\n\n<p>Iterators are mostly used in for loops. You can read about them in detail in the&nbsp;<a href=\"https:\/\/www.quantinsti.com\/python-basics-handbook\" target=\"_blank\" rel=\"noreferrer noopener\">Python Handbook<\/a>.<\/p>\n\n\n\n<p>You can import itertools in your Python code with the following commands<\/p>\n\n\n\n<p style=\"background-color:#fcfcdb;font-size:11px\" class=\"has-background\">\n            import itertools<br>\nimport operator\n\n<\/p>\n\n\n\n<p>We have also imported the \u201coperator\u201d module as we will be using algebraic operators along with itertools.<\/p>\n\n\n\n<p>But yes, it is that simple to import the module in Python. Let\u2019s move forward to the first type of itertools.<\/p>\n\n\n\n<p><strong>Infinite iterators<\/strong><\/p>\n\n\n\n<p>As the name suggests, infinite iterators are created to go through the elements of a data object infinitely, unless we pass a break statement.<\/p>\n\n\n\n<p>Let\u2019s see an example of it.<\/p>\n\n\n\n<p><strong>The count() iterator<\/strong><\/p>\n\n\n\n<p>Here, we will append the count function with \u201citertool\u201d to give us the function \u201citertool.count\u201d iterator and pass the parameters start and step to begin counting.<\/p>\n\n\n\n<p>In this code, 42 is the starting point and 8 is the step. Just so that the function doesn\u2019t continue endlessly, we use the break statement to stop once it goes beyond 60.<\/p>\n\n\n\n<p>Thus, the code is:<\/p>\n\n\n\n<p style=\"background-color:#fcfcdb;font-size:11px\" class=\"has-background\">\n# Count itertool   <br>\nfor i in itertools.count(42,8):<br>\n    print(i)<br>\n    if i &gt; 60:<br>\n        break\n\n<\/p>\n\n\n\n<p>The output is as follows:<\/p>\n\n\n\n<p>42<br>50<br>58<br>66<\/p>\n\n\n\n<p>I will just add here that since the &#8220;if&#8221; statement is invoked after the &#8220;print&#8221; statement, 66 is printed and then the iteration stops.<\/p>\n\n\n\n<p>We will now move on to the next type of iterators, which are the opposite of infinite.<\/p>\n\n\n\n<p><em>In the next installment, the author will discuss<\/em>&nbsp;<em>Terminating iterators<\/em>.<\/p>\n\n\n\n<p>Visit&nbsp;<a href=\"https:\/\/www.quantinsti.com\/\">https:\/\/www.quantinsti.com\/<\/a>&nbsp;for ready-to-use Python functions as applied in trading and data analysis.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>QuantInsti explains how to Infinite iterators in Python and provides ready-to-use code. Iterators return data, one element at a time. It allows us to traverse through all elements of a collection, regardless of its specific implementation.<\/p>\n","protected":false},"author":91,"featured_media":37943,"comment_status":"closed","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,343,349,338,350,341,344],"tags":[851,5615,806,7460,5614,852,595],"contributors-categories":[13654],"class_list":{"0":"post-44105","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science","8":"category-programing-languages","9":"category-python-development","10":"category-ibkr-quant-news","11":"category-quant-asia-pacific","12":"category-quant-development","13":"category-quant-regions","14":"tag-algo-trading","15":"tag-argument","16":"tag-data-science","17":"tag-iterator","18":"tag-lambda","19":"tag-machine-learning","20":"tag-python","21":"contributors-categories-quantinsti"},"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Python Itertools Tutorial &#8211; Part I | IBKR Quant<\/title>\n<meta name=\"description\" content=\"QuantInsti explains how to Infinite iterators in Python and provides ready-to-use code. Iterators return data, one element at a time.\" \/>\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.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/44105\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Itertools Tutorial - Part I | QuantInsti\" \/>\n<meta property=\"og:description\" content=\"QuantInsti explains how to Infinite iterators in Python and provides ready-to-use code. Iterators return data, one element at a time.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-05T14:21:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T14:45:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/03\/python-colors.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rekhit Pachanekar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rekhit Pachanekar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\\\/\\\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"NewsArticle\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Rekhit Pachanekar\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/8ab08253f8958ae9552fd7d7b5697370\"\n\t            },\n\t            \"headline\": \"Python Itertools Tutorial &#8211; Part I\",\n\t            \"datePublished\": \"2020-05-05T14:21:03+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:45:28+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/\"\n\t            },\n\t            \"wordCount\": 452,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/03\\\/python-colors.jpg\",\n\t            \"keywords\": [\n\t                \"Algo Trading\",\n\t                \"Argument\",\n\t                \"Data Science\",\n\t                \"Iterator\",\n\t                \"Lambda\",\n\t                \"Machine Learning\",\n\t                \"Python\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Programming Languages\",\n\t                \"Python Development\",\n\t                \"Quant\",\n\t                \"Quant Asia Pacific\",\n\t                \"Quant Development\",\n\t                \"Quant Regions\"\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/\",\n\t            \"name\": \"Python Itertools Tutorial - Part I | QuantInsti\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/03\\\/python-colors.jpg\",\n\t            \"datePublished\": \"2020-05-05T14:21:03+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:45:28+00:00\",\n\t            \"description\": \"QuantInsti explains how to Infinite iterators in Python and provides ready-to-use code. Iterators return data, one element at a time.\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-i\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/03\\\/python-colors.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/03\\\/python-colors.jpg\",\n\t            \"width\": 800,\n\t            \"height\": 500,\n\t            \"caption\": \"Python\"\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"name\": \"IBKR Campus US\",\n\t            \"description\": \"Financial Education from Interactive Brokers\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\",\n\t            \"name\": \"Interactive Brokers\",\n\t            \"alternateName\": \"IBKR\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\n\t                \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"width\": 669,\n\t                \"height\": 669,\n\t                \"caption\": \"Interactive Brokers\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\"\n\t            },\n\t            \"publishingPrinciples\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/about-ibkr-campus\\\/\",\n\t            \"ethicsPolicy\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/cyber-security-notice\\\/\"\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/8ab08253f8958ae9552fd7d7b5697370\",\n\t            \"name\": \"Rekhit Pachanekar\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/rekhit\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python Itertools Tutorial &#8211; Part I | IBKR Quant","description":"QuantInsti explains how to Infinite iterators in Python and provides ready-to-use code. Iterators return data, one element at a time.","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.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/44105\/","og_locale":"en_US","og_type":"article","og_title":"Python Itertools Tutorial - Part I | QuantInsti","og_description":"QuantInsti explains how to Infinite iterators in Python and provides ready-to-use code. Iterators return data, one element at a time.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/","og_site_name":"IBKR Campus US","article_published_time":"2020-05-05T14:21:03+00:00","article_modified_time":"2022-11-21T14:45:28+00:00","og_image":[{"width":800,"height":500,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/03\/python-colors.jpg","type":"image\/jpeg"}],"author":"Rekhit Pachanekar","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rekhit Pachanekar","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/"},"author":{"name":"Rekhit Pachanekar","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/8ab08253f8958ae9552fd7d7b5697370"},"headline":"Python Itertools Tutorial &#8211; Part I","datePublished":"2020-05-05T14:21:03+00:00","dateModified":"2022-11-21T14:45:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/"},"wordCount":452,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/03\/python-colors.jpg","keywords":["Algo Trading","Argument","Data Science","Iterator","Lambda","Machine Learning","Python"],"articleSection":["Data Science","Programming Languages","Python Development","Quant","Quant Asia Pacific","Quant Development","Quant Regions"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/","name":"Python Itertools Tutorial - Part I | QuantInsti","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/03\/python-colors.jpg","datePublished":"2020-05-05T14:21:03+00:00","dateModified":"2022-11-21T14:45:28+00:00","description":"QuantInsti explains how to Infinite iterators in Python and provides ready-to-use code. Iterators return data, one element at a time.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/03\/python-colors.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/03\/python-colors.jpg","width":800,"height":500,"caption":"Python"},{"@type":"WebSite","@id":"https:\/\/ibkrcampus.com\/campus\/#website","url":"https:\/\/ibkrcampus.com\/campus\/","name":"IBKR Campus US","description":"Financial Education from Interactive Brokers","publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ibkrcampus.com\/campus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ibkrcampus.com\/campus\/#organization","name":"Interactive Brokers","alternateName":"IBKR","url":"https:\/\/ibkrcampus.com\/campus\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","width":669,"height":669,"caption":"Interactive Brokers"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/"},"publishingPrinciples":"https:\/\/www.interactivebrokers.com\/campus\/about-ibkr-campus\/","ethicsPolicy":"https:\/\/www.interactivebrokers.com\/campus\/cyber-security-notice\/"},{"@type":"Person","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/8ab08253f8958ae9552fd7d7b5697370","name":"Rekhit Pachanekar","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/rekhit\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/03\/python-colors.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/44105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/users\/91"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=44105"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/44105\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/37943"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=44105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=44105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=44105"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=44105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}