{"id":52821,"date":"2020-07-16T11:23:29","date_gmt":"2020-07-16T15:23:29","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=52821"},"modified":"2023-03-14T09:56:08","modified_gmt":"2023-03-14T13:56:08","slug":"python-itertools-tutorial-part-vi","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/","title":{"rendered":"Python Itertools Tutorial \u2013 Part VI"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Get up-to-speed in this series with<\/em>\u00a0<em><a href=\"\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-i\/\">Part I<\/a>,\u00a0<a href=\"\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-ii\/\">Part II<\/a>,\u00a0\u00a0<a href=\"\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-iii\/\">Part III<\/a>,\u00a0Part IV,<\/em> <em>and <a href=\"\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-v\/\">Part V<\/a>.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The combinations_with_replacement() iterator<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you had seen the output above, there were no stocks repeated in the combinations. This iterator takes care of that by listing the values repeated too.The Python code for this iterator is as follows:<\/p>\n\n\n\n<p style=\"background-color:#fcfcdb;font-size:11px\" class=\"has-background\">\n# Combinations_with_replacement itertool<br>\nstocks_NYSE = [&#8216;TSLA&#8217;, &#8216;MSFT&#8217;, &#8216;NVDA&#8217;, &#8216;GOOGL&#8217; , &#8216;AAPL&#8217; , &#8216;INTC&#8217;]<br>\nresult = itertools.combinations_with_replacement(stocks_NYSE, 2)<br>\nfor each in result:<br>\n    print(each)\n\n\n\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The output would is shown below:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(&#8216;TSLA&#8217;, &#8216;TSLA&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;MSFT&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;NVDA&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;INTC&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;MSFT&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;NVDA&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;INTC&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;NVDA&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;INTC&#8217;)<br>(&#8216;GOOGL&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;GOOGL&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;GOOGL&#8217;, &#8216;INTC&#8217;)<br>(&#8216;AAPL&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;AAPL&#8217;, &#8216;INTC&#8217;)<br>(&#8216;INTC&#8217;, &#8216;INTC&#8217;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Well, these were the combinations, but what about the permutations? Let\u2019s check it out right now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The permutations() iterator<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recall that in permutations, the order does matter. Hence (&#8216;TSLA&#8217;, &#8216;MSFT&#8217;) and (&#8216;MSFT\u2019, &#8216;TSLA&#8217;) are entirely different in permutations. Having said that, let us see the python code for this iterator.<\/p>\n\n\n\n<p style=\"background-color:#fcfcdb;font-size:11px\" class=\"has-background\">\n# Permutations() itertool<br>\nstocks_NYSE = [&#8216;TSLA&#8217;, &#8216;MSFT&#8217;, &#8216;NVDA&#8217;, &#8216;GOOGL&#8217; , &#8216;AAPL&#8217; , &#8216;INTC&#8217;]<br>\nresult = itertools.permutations(stocks_NYSE, 2)<br>\nfor each in result:<br>\n    print(each)\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The output would be as follows:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(&#8216;TSLA&#8217;, &#8216;MSFT&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;NVDA&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;TSLA&#8217;, &#8216;INTC&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;TSLA&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;NVDA&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;MSFT&#8217;, &#8216;INTC&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;TSLA&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;MSFT&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;NVDA&#8217;, &#8216;INTC&#8217;)<br>(&#8216;GOOGL&#8217;, &#8216;TSLA&#8217;)<br>(&#8216;GOOGL&#8217;, &#8216;MSFT&#8217;)<br>(&#8216;GOOGL&#8217;, &#8216;NVDA&#8217;)<br>(&#8216;GOOGL&#8217;, &#8216;AAPL&#8217;)<br>(&#8216;GOOGL&#8217;, &#8216;INTC&#8217;)<br>(&#8216;AAPL&#8217;, &#8216;TSLA&#8217;)<br>(&#8216;AAPL&#8217;, &#8216;MSFT&#8217;)<br>(&#8216;AAPL&#8217;, &#8216;NVDA&#8217;)<br>(&#8216;AAPL&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;AAPL&#8217;, &#8216;INTC&#8217;)<br>(&#8216;INTC&#8217;, &#8216;TSLA&#8217;)<br>(&#8216;INTC&#8217;, &#8216;MSFT&#8217;)<br>(&#8216;INTC&#8217;, &#8216;NVDA&#8217;)<br>(&#8216;INTC&#8217;, &#8216;GOOGL&#8217;)<br>(&#8216;INTC&#8217;, &#8216;AAPL&#8217;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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>Join QuantInsti for a tutorial on Python itertools as they serve to conveniently iterate items in a list. Learn more about combinations_with_replacement() and the permutations() iterator in this article.<\/p>\n","protected":false},"author":91,"featured_media":40540,"comment_status":"closed","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[339,343,349,338,350,341,344],"tags":[851,5615,8038,7934,7933,806,7935,7460,5614,852,1224,8039,595,6674],"contributors-categories":[13654],"class_list":["post-52821","post","type-post","status-publish","format-standard","has-post-thumbnail","category-data-science","category-programing-languages","category-python-development","category-ibkr-quant-news","category-quant-asia-pacific","category-quant-development","category-quant-regions","tag-algo-trading","tag-argument","tag-combinations_with_replacement-iterator","tag-combinations-iterator","tag-combinatoric-iterators","tag-data-science","tag-islice-iterator","tag-iterator","tag-lambda","tag-machine-learning","tag-pandas","tag-permutations-iterator","tag-python","tag-yfinance","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.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Python Itertools Tutorial \u2013 Part VI | IBKR Quant<\/title>\n<meta name=\"description\" content=\"Join QuantInsti for a tutorial on Python itertools as they serve to conveniently iterate items in a list. Learn more about...\" \/>\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\/52821\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Itertools Tutorial \u2013 Part VI | IBKR Quant Blog\" \/>\n<meta property=\"og:description\" content=\"Join QuantInsti for a tutorial on Python itertools as they serve to conveniently iterate items in a list. Learn more about combinations_with_replacement() and the permutations() iterator in this article.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-16T15:23:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-14T13:56:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/04\/python-programming-keyboard.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"550\" \/>\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-vi\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-vi\\\/\"\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 \u2013 Part VI\",\n\t            \"datePublished\": \"2020-07-16T15:23:29+00:00\",\n\t            \"dateModified\": \"2023-03-14T13:56:08+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-vi\\\/\"\n\t            },\n\t            \"wordCount\": 292,\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-vi\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/04\\\/python-programming-keyboard.jpg\",\n\t            \"keywords\": [\n\t                \"Algo Trading\",\n\t                \"Argument\",\n\t                \"combinations_with_replacement() iterator\",\n\t                \"combinations() iterator\",\n\t                \"Combinatoric iterators\",\n\t                \"Data Science\",\n\t                \"islice() iterator\",\n\t                \"Iterator\",\n\t                \"Lambda\",\n\t                \"Machine Learning\",\n\t                \"Pandas\",\n\t                \"permutations() iterator\",\n\t                \"Python\",\n\t                \"yfinance\"\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-vi\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-vi\\\/\",\n\t            \"name\": \"Python Itertools Tutorial \u2013 Part VI | IBKR Quant Blog\",\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-vi\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/python-itertools-tutorial-part-vi\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/04\\\/python-programming-keyboard.jpg\",\n\t            \"datePublished\": \"2020-07-16T15:23:29+00:00\",\n\t            \"dateModified\": \"2023-03-14T13:56:08+00:00\",\n\t            \"description\": \"Join QuantInsti for a tutorial on Python itertools as they serve to conveniently iterate items in a list. Learn more about combinations_with_replacement() and the permutations() iterator in this article.\",\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-vi\\\/\"\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-vi\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/04\\\/python-programming-keyboard.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/04\\\/python-programming-keyboard.jpg\",\n\t            \"width\": 900,\n\t            \"height\": 550,\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 \u2013 Part VI | IBKR Quant","description":"Join QuantInsti for a tutorial on Python itertools as they serve to conveniently iterate items in a list. Learn more about...","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\/52821\/","og_locale":"en_US","og_type":"article","og_title":"Python Itertools Tutorial \u2013 Part VI | IBKR Quant Blog","og_description":"Join QuantInsti for a tutorial on Python itertools as they serve to conveniently iterate items in a list. Learn more about combinations_with_replacement() and the permutations() iterator in this article.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/","og_site_name":"IBKR Campus US","article_published_time":"2020-07-16T15:23:29+00:00","article_modified_time":"2023-03-14T13:56:08+00:00","og_image":[{"width":900,"height":550,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/04\/python-programming-keyboard.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-vi\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/"},"author":{"name":"Rekhit Pachanekar","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/8ab08253f8958ae9552fd7d7b5697370"},"headline":"Python Itertools Tutorial \u2013 Part VI","datePublished":"2020-07-16T15:23:29+00:00","dateModified":"2023-03-14T13:56:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/"},"wordCount":292,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/04\/python-programming-keyboard.jpg","keywords":["Algo Trading","Argument","combinations_with_replacement() iterator","combinations() iterator","Combinatoric iterators","Data Science","islice() iterator","Iterator","Lambda","Machine Learning","Pandas","permutations() iterator","Python","yfinance"],"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-vi\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/","name":"Python Itertools Tutorial \u2013 Part VI | IBKR Quant Blog","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/04\/python-programming-keyboard.jpg","datePublished":"2020-07-16T15:23:29+00:00","dateModified":"2023-03-14T13:56:08+00:00","description":"Join QuantInsti for a tutorial on Python itertools as they serve to conveniently iterate items in a list. Learn more about combinations_with_replacement() and the permutations() iterator in this article.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/python-itertools-tutorial-part-vi\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/04\/python-programming-keyboard.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/04\/python-programming-keyboard.jpg","width":900,"height":550,"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\/04\/python-programming-keyboard.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/52821","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=52821"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/52821\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/40540"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=52821"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=52821"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=52821"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=52821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}