{"id":65538,"date":"2023-12-01T05:54:13","date_gmt":"2023-12-01T08:54:13","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=65538&#038;preview=true&#038;preview_id=65538"},"modified":"2023-12-08T10:26:35","modified_gmt":"2023-12-08T13:26:35","slug":"iteraveis-em-python","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/","title":{"rendered":"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python"},"content":{"rendered":"<p>Na programa\u00e7\u00e3o Python, a compreens\u00e3o e o uso eficaz de iter\u00e1veis s\u00e3o fundamentais para a codifica\u00e7\u00e3o proficiente. Iter\u00e1veis s\u00e3o objetos que voc\u00ea pode iterar ou fazer um loop. Eles suportam a passagem sequencial de elementos dentro deles, o que os torna uma ferramenta essencial para acessar e manipular elementos em objetos ou estruturas de dados.<\/p>\n<p>Este artigo explora como usar corretamente os iter\u00e1veis do <a href=\"https:\/\/kinsta.com\/pt\/blog\/tutoriais-python\/\">Python<\/a>, concentrando-se nos tipos de dados iter\u00e1veis integrados da linguagem: listas, tuplas, dicion\u00e1rios, strings de caracteres e conjuntos. Ele tamb\u00e9m explica como implementar tipos iter\u00e1veis personalizados e realizar opera\u00e7\u00f5es avan\u00e7adas.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Como fazer um loop atrav\u00e9s de iter\u00e1veis em Python<\/h2>\n<p>Em Python, voc\u00ea pode iterar atrav\u00e9s de diversos tipos de iter\u00e1veis usando um loop <code>for<\/code>. Isso permite que voc\u00ea navegue por sequ\u00eancias e realize opera\u00e7\u00f5es em itens individuais dentro de listas, conjuntos e dicion\u00e1rios.<\/p>\n<p>A palavra-chave <code>for<\/code> em Python \u00e9 diferente de sua utilidade em outras linguagens <a href=\"https:\/\/kinsta.com\/pt\/blog\/programacao-orientada-objetos-python\/\">orientadas a objetos<\/a>, como <a href=\"https:\/\/kinsta.com\/pt\/blog\/kotlin-vs-java\/\">Java<\/a>. Os loops do Python <code>for<\/code> funcionam mais como m\u00e9todos de <a href=\"https:\/\/kinsta.com\/pt\/blog\/tutoriais-python\/#24-python-for-you-and-me\">iterador<\/a>. Aqui est\u00e3o exemplos para demonstrar o loop em iter\u00e1veis:<\/p>\n<h3>1. Looping em uma lista<\/h3>\n<p>As listas s\u00e3o cole\u00e7\u00f5es ordenadas de itens, o que permite a itera\u00e7\u00e3o f\u00e1cil usando um loop <code>for<\/code>.<\/p>\n<pre><code class=\"language-python\">fruits_list = [\"Apple\", \"Mango\", \"Peach\", \"Orange\", \"Banana\"]\n\nfor fruit in fruits_list:\n    print(fruit)<\/code><\/pre>\n<p>No c\u00f3digo acima, <code>fruit<\/code> atua como um iterador que o loop usa para percorrer cada elemento da lista e, ao mesmo tempo, imprimi-los. O loop \u00e9 encerrado ap\u00f3s a avalia\u00e7\u00e3o do \u00faltimo elemento da lista. O c\u00f3digo acima deve gerar o seguinte resultado:<\/p>\n<pre><code class=\"language-bash\">Apple\nMango\nPeach\nOrange\nBanana<\/code><\/pre>\n<h3>2. Itera\u00e7\u00e3o em uma tupla<\/h3>\n<p>As tuplas s\u00e3o semelhantes \u00e0s listas, mas s\u00e3o imut\u00e1veis. Voc\u00ea pode iterar por elas da mesma forma que as listas.<\/p>\n<pre><code class=\"language-python\">fruits_tuple = (\"Apple\", \"Mango\", \"Peach\", \"Orange\", \"Banana\")\n\nfor fruit in fruits_tuple:\n\tprint(fruit)<\/code><\/pre>\n<p>Neste exemplo, o loop <code>for<\/code> itera pela tupla e, em cada itera\u00e7\u00e3o, a vari\u00e1vel <code>fruit<\/code> assume o valor do elemento atual na tupla. O c\u00f3digo deve fornecer o seguinte resultado:<\/p>\n<pre><code class=\"language-bash\">Apple\nMango\nPeach\nOrange\nBanana<\/code><\/pre>\n<h3>3. Looping em conjuntos<\/h3>\n<p>Os conjuntos s\u00e3o cole\u00e7\u00f5es n\u00e3o ordenadas de elementos exclusivos. Voc\u00ea pode percorr\u00ea-los usando um loop <code>for<\/code>.<\/p>\n<pre><code class=\"language-python\">fruits_set = {\"Apple\", \"Mango\", \"Peach\", \"Orange\", \"Banana\"}\n\nfor fruit in fruits_set:\n\tprint(fruit)<\/code><\/pre>\n<p>Neste exemplo, o loop <code>for<\/code> itera pelo conjunto. Entretanto, como os conjuntos n\u00e3o s\u00e3o ordenados, a ordem de itera\u00e7\u00e3o pode n\u00e3o ser a mesma que a ordem em que os elementos foram definidos no conjunto. Em cada itera\u00e7\u00e3o, a vari\u00e1vel <code>fruit<\/code> assume o valor do elemento atual no conjunto. O c\u00f3digo deve gerar um resultado semelhante ao seguinte (a ordem pode variar):<\/p>\n<pre><code class=\"language-bash\">Mango\nBanana\nPeach\nApple\nOrange<\/code><\/pre>\n<h3>4. Itera\u00e7\u00e3o atrav\u00e9s de strings<\/h3>\n<p>As strings de caracteres s\u00e3o sequ\u00eancias de caracteres que voc\u00ea pode percorrer caractere por caractere.<\/p>\n<pre><code class=\"language-python\">string = \"Kinsta\"\n\nfor char in string:\n\tprint(char)<\/code><\/pre>\n<p>O c\u00f3digo acima itera pela string de caracteres &#8220;Kinsta&#8221; e imprime cada caractere em uma nova linha. Em cada itera\u00e7\u00e3o, a vari\u00e1vel <code>char<\/code> assume o valor do caractere atual na string de caracteres. O c\u00f3digo deve gerar o seguinte resultado:<\/p>\n<pre><code class=\"language-bash\">K\ni\nn\ns\nt\na<\/code><\/pre>\n<h3>5. Percorrendo um dicion\u00e1rio<\/h3>\n<p>O uso do loop <code>for<\/code> \u00e9 semelhante para listas, conjuntos, tuplas e strings de caracteres, mas \u00e9 diferente para dicion\u00e1rios, pois eles usam pares de valores-chave para armazenar itens. Os dicion\u00e1rios apresentam um caso \u00fanico de looping, pois voc\u00ea pode iter\u00e1-los usando diferentes abordagens. Aqui est\u00e3o as diferentes abordagens que voc\u00ea pode usar para percorrer um dicion\u00e1rio Python:<\/p>\n<ul>\n<li><strong>Itera\u00e7\u00e3o por chaves:<\/strong>\n<pre><code class=\"language-python\">countries_capital = {\n    \"USA\": \"Washington D.C.\",\n    \"Australia\": \"Canberra\",\n    \"France\": \"Paris\",\n    \"Egypt\": \"Cairo\",\n    \"Japan\": \"Tokyo\"\n}\n\nfor country in countries_capital.keys():\n    print(country)<\/code><\/pre>\n<p>O c\u00f3digo acima define um dicion\u00e1rio chamado <code>countries_capital<\/code>, em que os nomes dos pa\u00edses s\u00e3o as chaves e suas respectivas capitais s\u00e3o os valores. O loop <code>for<\/code> itera pelas chaves do dicion\u00e1rio <code>countries_capital<\/code> usando o m\u00e9todo <code>keys()<\/code>. Esse m\u00e9todo retorna um objeto de visualiza\u00e7\u00e3o que exibe uma lista das chaves do dicion\u00e1rio, o que facilita o loop de todas as chaves. Em cada itera\u00e7\u00e3o, a vari\u00e1vel <code>country<\/code> assume o valor da chave atual. Esse c\u00f3digo deve gerar o seguinte resultado:<\/p>\n<pre><code class=\"language-bash\">USA\nAustralia\nFrance\nEgypt\nJapan<\/code><\/pre>\n<\/li>\n<li><strong>Iterando pelos valores:<\/strong>\n<pre><code class=\"language-python\">countries_capital = {\n    \"USA\": \"Washington D.C.\",\n    \"Australia\": \"Canberra\",\n    \"France\": \"Paris\",\n    \"Egypt\": \"Cairo\",\n    \"Japan\": \"Tokyo\"\n}\n\nfor capital in countries_capital.values():\n    print(capital)<\/code><\/pre>\n<p>No c\u00f3digo acima, o <code>for<\/code> faz a itera\u00e7\u00e3o dos valores do dicion\u00e1rio <code>countries_capital<\/code> usando o m\u00e9todo <code>values()<\/code>. Esse m\u00e9todo retorna um objeto de visualiza\u00e7\u00e3o que exibe uma lista dos valores no dicion\u00e1rio, facilitando o loop de todos os valores. Em cada itera\u00e7\u00e3o, a vari\u00e1vel <code>capital<\/code> assume o valor do valor atual na lista. Esse c\u00f3digo deve gerar o seguinte resultado:<\/p>\n<pre><code class=\"language-bash\">Washington D.C.\nCanberra\nParis\nCairo\nTokyo<\/code><\/pre>\n<\/li>\n<li><strong>Iterando por pares de valores-chave:<\/strong>\n<pre><code class=\"language-python\">countries_capital = {\n    \"USA\": \"Washington D.C.\",\n    \"Australia\": \"Canberra\",\n    \"France\": \"Paris\",\n    \"Egypt\": \"Cairo\",\n    \"Japan\": \"Tokyo\"\n}\n\nfor country, capital in countries_capital.items():\n    print(country, \":\", capital)<\/code><\/pre>\n<p>O c\u00f3digo acima demonstra como voc\u00ea pode iterar pelas chaves e pelos valores do dicion\u00e1rio <code>countries_capital<\/code> usando o m\u00e9todo <code>items()<\/code>. O m\u00e9todo <code>items()<\/code> retorna um objeto de visualiza\u00e7\u00e3o que exibe uma lista de tuplas de valores-chave no dicion\u00e1rio. No loop <code>for<\/code>, cada itera\u00e7\u00e3o descompacta um par chave-valor do elemento atual da lista. As vari\u00e1veis <code>country<\/code> e <code>capital<\/code> recebem a chave e o valor correspondentes, respectivamente. Esse c\u00f3digo deve gerar o seguinte resultado:<\/p>\n<pre><code class=\"language-bash\">USA : Washington D.C.\nAustralia : Canberra\nFrance : Paris\nEgypt : Cairo\nJapan : Tokyo<\/code><\/pre>\n<\/li>\n<\/ul>\n<h3>Itera\u00e7\u00e3o avan\u00e7ada com enumerate() em Python<\/h3>\n<p>Outra maneira de iterar sobre os iter\u00e1veis Python enquanto voc\u00ea retorna o \u00edndice e o valor correspondente dos elementos \u00e9 por meio da fun\u00e7\u00e3o <code>enumerate()<\/code>. D\u00ea uma olhada neste exemplo:<\/p>\n<pre><code class=\"language-python\">fruits_list = [\"Apple\", \"Mango\", \"Peach\", \"Orange\", \"Banana\"]\n\nfor index, fruit in enumerate(fruits_list):\n    print(fruit, index)<\/code><\/pre>\n<p>Aqui est\u00e1 o resultado:<\/p>\n<pre><code class=\"language-bash\">Apple 0\nMango 1\nPeach 2\nOrange 3\nBanana 4<\/code><\/pre>\n<p>A fun\u00e7\u00e3o <code>enumerate<\/code> tamb\u00e9m permite que voc\u00ea especifique o \u00edndice inicial, al\u00e9m de <code>0<\/code>, para a opera\u00e7\u00e3o de itera\u00e7\u00e3o. Voc\u00ea pode modificar o exemplo acima da seguinte forma:<\/p>\n<pre><code class=\"language-python\">fruits_list = [\"Apple\", \"Mango\", \"Peach\", \"Orange\", \"Banana\"]\nfor index, fruit in enumerate(fruits_list, start = 2):\n    print(fruit, index)\n<\/code><\/pre>\n<p>Aqui est\u00e1 o resultado:<\/p>\n<pre><code class=\"language-bash\">Apple 2\nMango 3\nPeach 4\nOrange 5\nBanana 6<\/code><\/pre>\n<p>Observe que, embora esse exemplo especifique o \u00edndice inicial da enumera\u00e7\u00e3o, o <code>enumerate<\/code> n\u00e3o aplica uma indexa\u00e7\u00e3o baseada em zero ao iter\u00e1vel, como \u00e9 o caso das listas nativas. Ele simplesmente acrescenta o valor inicial ao primeiro elemento da lista at\u00e9 o \u00faltimo.<\/p>\n<h2>Como implementar geradores Python<\/h2>\n<p>Geradores s\u00e3o iter\u00e1veis especiais em Python que permitem a voc\u00ea construir objetos geradores sem criar explicitamente tipos integrados como listas, conjuntos ou dicion\u00e1rios. Voc\u00ea pode usar geradores para produzir valores \u00e0 medida que avan\u00e7a, com base na l\u00f3gica de gera\u00e7\u00e3o.<\/p>\n<p>Os geradores usam a instru\u00e7\u00e3o <code>yield<\/code> para retornar os valores gerados um de cada vez. Aqui est\u00e1 um exemplo de iter\u00e1veis de gerador:<\/p>\n<pre><code class=\"language-python\">def even_generator(n):\n    counter = 0\n    while counter &lt;= n:\n        if counter % 2 == 0:\n            yield counter\n        counter += 1\n\nfor num in even_generator(20):\n    print(num)<\/code><\/pre>\n<p>O c\u00f3digo fornecido define uma fun\u00e7\u00e3o <code>even_generator<\/code> que produz uma sequ\u00eancia de n\u00fameros pares de <code>0<\/code> a um <code>n<\/code> especificado usando a instru\u00e7\u00e3o <code>yield<\/code>. Ele utiliza um loop para gerar esses valores e itera o resultado usando o iterador <code>num<\/code>, garantindo a avalia\u00e7\u00e3o de todos os valores dentro do intervalo fornecido. Esse c\u00f3digo gera uma lista de n\u00fameros pares de <code>0<\/code> a <code>20<\/code>, conforme mostrado abaixo:<\/p>\n<pre><code class=\"language-bash\">0\n2\n4\n6\n8\n10\n12\n14\n16\n18\n20<\/code><\/pre>\n<p>Voc\u00ea pode obter ainda mais concis\u00e3o ao trabalhar com express\u00f5es de gerador. Por exemplo, voc\u00ea pode criar uma fun\u00e7\u00e3o geradora que tamb\u00e9m incorpora a l\u00f3gica de loop:<\/p>\n<pre><code class=\"language-python\">cube = (num ** 3 for num in range(1, 6))\nfor c in cube:\n    print(c)<\/code><\/pre>\n<p>Aqui, voc\u00ea atribui a vari\u00e1vel <code>cube<\/code> ao resultado de uma fun\u00e7\u00e3o que calcula o cubo de valores no intervalo de 1 a 6. Em seguida, voc\u00ea percorre os valores dentro do intervalo especificado, gerando o resultado do c\u00e1lculo, um ap\u00f3s o outro. O resultado \u00e9 o seguinte:<\/p>\n<pre><code class=\"language-bash\">1\n8\n27\n64\n125<\/code><\/pre>\n<h2>Como criar iter\u00e1veis personalizados<\/h2>\n<p>O Python permite que voc\u00ea personalize ainda mais as opera\u00e7\u00f5es de iter\u00e1veis usando iteradores. Os objetos de iterador implementam o protocolo de iterador e cont\u00eam dois m\u00e9todos: <code>__iter__()<\/code> e <code>__next__()<\/code>. O m\u00e9todo <code>__iter__()<\/code> retorna um objeto iterador, enquanto <code>__next__()<\/code> retorna o pr\u00f3ximo valor em um cont\u00eainer iter\u00e1vel. Aqui est\u00e1 um exemplo de iteradores em Python:<\/p>\n<pre><code class=\"language-python\">even_list = [2, 4, 6, 8, 10]\nmy_iterator = iter(even_list)\nprint(next(my_iterator)) # Prints 2\nprint(next(my_iterator)) # Prints 4\nprint(next(my_iterator)) # Prints 6<\/code><\/pre>\n<p>Neste exemplo, voc\u00ea usa o m\u00e9todo <code>iter()<\/code> para criar um objeto iterador (<code>my_iterator<\/code>) a partir da lista. Para acessar cada um dos elementos da lista, voc\u00ea envolve o objeto iterador com o m\u00e9todo <code>next()<\/code>. Como as listas s\u00e3o cole\u00e7\u00f5es ordenadas, o iterador retorna os elementos sequencialmente.<\/p>\n<p>Os iteradores personalizados s\u00e3o ideais para opera\u00e7\u00f5es que envolvem grandes conjuntos de dados que voc\u00ea n\u00e3o pode carregar na mem\u00f3ria simultaneamente. Como a mem\u00f3ria \u00e9 cara e sujeita a restri\u00e7\u00f5es de espa\u00e7o, voc\u00ea pode usar um iterador para processar elementos de dados individualmente sem carregar todo o conjunto de dados na mem\u00f3ria.<\/p>\n<h2>Fun\u00e7\u00f5es iter\u00e1veis<\/h2>\n<p>O Python usa fun\u00e7\u00f5es para percorrer, manipular e inspecionar os elementos da lista. Algumas fun\u00e7\u00f5es de lista comuns incluem:<\/p>\n<ul>\n<li><code>sum<\/code> &#8211; Retorna a soma de um determinado iter\u00e1vel, desde que a cole\u00e7\u00e3o seja de tipos num\u00e9ricos (inteiros, valores de ponto flutuante e n\u00fameros complexos)<\/li>\n<li><code>any<\/code> &#8211; Retorna <code>true<\/code> se algum dos elementos iter\u00e1veis for verdadeiro. Caso contr\u00e1rio, ele retornar\u00e1 <code>false<\/code>.<\/li>\n<li><code>all<\/code> &#8211; Retorna <code>true<\/code> se todos os elementos iter\u00e1veis forem verdadeiros. Caso contr\u00e1rio, retorna <code>false<\/code>.<\/li>\n<li><code>max<\/code> &#8211; Retorna o valor m\u00e1ximo de uma determinada cole\u00e7\u00e3o iter\u00e1vel<\/li>\n<li><code>min<\/code> &#8211; Retorna o valor m\u00ednimo de uma determinada cole\u00e7\u00e3o iter\u00e1vel<\/li>\n<li><code>len<\/code> &#8211; Retorna o comprimento de um determinado iter\u00e1vel<\/li>\n<li><code>append<\/code> &#8211; Adiciona um valor ao final de uma lista iter\u00e1vel<\/li>\n<\/ul>\n<p>O exemplo abaixo demonstra essas fun\u00e7\u00f5es com uma lista:<\/p>\n<pre><code class=\"language-python\">even_list = [2, 4, 6, 8, 10]\n\nprint(sum(even_list))\nprint(any(even_list))\nprint(max(even_list))\nprint(min(even_list))\neven_list.append(14) # Add 14 to the end of the list\nprint(even_list)\neven_list.insert(0, 0) # Insert 0 and specified index [0]\nprint(even_list)\nprint(all(even_list)) # Return true only if ALL elements in the list are true\nprint(len(even_list)) # Print the size of the list<\/code><\/pre>\n<p>Aqui est\u00e1 o resultado:<\/p>\n<pre><code class=\"language-bash\">30\nTrue\n10\n2\n[2, 4, 6, 8, 10, 14]\n[0, 2, 4, 6, 8, 10, 14]\nFalse\n7<\/code><\/pre>\n<p>No exemplo acima, a fun\u00e7\u00e3o <code>append<\/code> adiciona um \u00fanico par\u00e2metro (<code>14<\/code>) ao final da lista. A fun\u00e7\u00e3o <code>insert<\/code> permite que voc\u00ea especifique o \u00edndice para inser\u00e7\u00e3o. Portanto, <code>even_list.insert(0, 0)<\/code> insere <code>0<\/code> no \u00edndice <code>[0]<\/code>.<br \/>\nA instru\u00e7\u00e3o <code>print(all(even_list))<\/code> retorna <code>false<\/code> porque h\u00e1 um valor <code>0<\/code> na lista, interpretado como <code>false<\/code>. Por fim, <code>print(len(even_list))<\/code> gera o comprimento do iter\u00e1vel.<\/p>\n<h2>Opera\u00e7\u00f5es avan\u00e7adas de iter\u00e1veis<\/h2>\n<p>O Python oferece recursos avan\u00e7ados que promovem a concis\u00e3o nas opera\u00e7\u00f5es com iter\u00e1veis. A seguir, voc\u00ea encontrar\u00e1 alguns deles.<\/p>\n<h3>1. Compreens\u00f5es de lista<\/h3>\n<p>As compreens\u00f5es de lista permitem que voc\u00ea crie novas listas aplicando uma fun\u00e7\u00e3o a cada elemento das listas existentes. Aqui est\u00e1 um exemplo:<\/p>\n<pre><code class=\"language-python\">my_numbers = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]\neven_number_list = [num for num in my_numbers if num%2 == 0]\nprint(even_number_list)<\/code><\/pre>\n<p>Neste trecho de c\u00f3digo, uma lista chamada <code>my_numbers<\/code> \u00e9 criada com n\u00fameros inteiros de <code>11<\/code> a <code>20<\/code>. O objetivo \u00e9 gerar uma nova lista, <code>even_number_list<\/code>, contendo apenas n\u00fameros inteiros pares. Para isso, aplique uma compreens\u00e3o de lista que retorne um n\u00famero inteiro de <code>my_numbers<\/code> somente se esse n\u00famero inteiro for par. A instru\u00e7\u00e3o <code>if<\/code> cont\u00e9m a l\u00f3gica que retorna os n\u00fameros pares.<\/p>\n<p>Aqui est\u00e1 o resultado:<\/p>\n<pre><code class=\"language-bash\">[12, 14, 16, 18, 20]<\/code><\/pre>\n<h3>2. Zip<\/h3>\n<p>A fun\u00e7\u00e3o <code>zip()<\/code> do Python combina v\u00e1rios iter\u00e1veis em tuplas. As tuplas armazenam v\u00e1rios valores em uma vari\u00e1vel e s\u00e3o imut\u00e1veis. Veja como voc\u00ea pode combinar iter\u00e1veis usando <code>zip()<\/code>:<\/p>\n<pre><code class=\"language-python\">fruits = [\"apple\", \"orange\", \"banana\"]\nrating = [1, 2, 3]\n\nfruits_rating = zip(rating, fruits)\nprint(list(fruits_rating))<\/code><\/pre>\n<p>Neste exemplo, <code>fruits_rating<\/code> emparelha cada classifica\u00e7\u00e3o com uma fruta, criando um \u00fanico iter\u00e1vel. O resultado \u00e9:<\/p>\n<pre><code class=\"language-bash\">[(1, 'apple'), (2, 'orange'), (3, 'banana')]<\/code><\/pre>\n<p>Esse c\u00f3digo funciona como um sistema de classifica\u00e7\u00e3o para diferentes frutas, com a primeira lista (<code>fruits<\/code>) representando as frutas e a segunda lista representando as classifica\u00e7\u00f5es em uma escala de 1 a 3.<\/p>\n<h3>3. Filtro<\/h3>\n<p>Outra fun\u00e7\u00e3o avan\u00e7ada, filter, recebe dois argumentos: uma fun\u00e7\u00e3o e um iter\u00e1vel. Ela aplica a fun\u00e7\u00e3o a cada elemento do iter\u00e1vel e, em seguida, retorna um novo iter\u00e1vel contendo somente os elementos para os quais a fun\u00e7\u00e3o retorna um valor <code>true<\/code>. O exemplo a seguir filtra uma lista de valores inteiros em um determinado intervalo para que voc\u00ea retorne apenas os valores pares:<\/p>\n<pre><code class=\"language-python\">def is_even(n):\n    return n%2 == 0\n\nnums_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\neven_list = filter(is_even, nums_list)\nprint(list(even_list))<\/code><\/pre>\n<p>No c\u00f3digo acima, voc\u00ea come\u00e7a definindo uma fun\u00e7\u00e3o, <code>is_even<\/code>, para computar um n\u00famero par passado a ela. Em seguida, voc\u00ea cria uma lista de valores inteiros entre 1 e 10 &#8211; <code>nums_list<\/code>. Por fim, voc\u00ea define uma nova lista, <code>even_list<\/code>, que usa a fun\u00e7\u00e3o <code>filter()<\/code> para aplicar o m\u00e9todo definido pelo usu\u00e1rio \u00e0 lista original e retornar somente os elementos pares da lista. Aqui est\u00e1 o resultado:<\/p>\n<pre><code class=\"language-bash\">[2, 4, 6, 8, 10]<\/code><\/pre>\n<h3>4. Mapa<\/h3>\n<p>Assim como a fun\u00e7\u00e3o <code>filter()<\/code>, a fun\u00e7\u00e3o <code>map()<\/code> do Python recebe um iter\u00e1vel e uma fun\u00e7\u00e3o como argumentos. Mas, em vez de retornar elementos do iter\u00e1vel inicial, ela retorna um novo iter\u00e1vel que cont\u00e9m o resultado da fun\u00e7\u00e3o aplicada a cada elemento do primeiro iter\u00e1vel. Para elevar uma lista de inteiros ao quadrado, use a fun\u00e7\u00e3o <code>map()<\/code>:<\/p>\n<pre><code class=\"language-python\">my_list = [2, 4, 6, 8, 10]\nsquare_numbers = map(lambda x: x ** 2, my_list)\nprint(list(square_numbers))<\/code><\/pre>\n<p>Nesse c\u00f3digo, <code>x<\/code> \u00e9 o iterador que percorre a lista e a transforma por meio do c\u00e1lculo do quadrado. A fun\u00e7\u00e3o <code>map()<\/code> executa essa opera\u00e7\u00e3o tomando a lista original como argumento junto com uma fun\u00e7\u00e3o de mapeamento. O resultado \u00e9 o seguinte:<\/p>\n<pre><code class=\"language-bash\">[4, 16, 36, 64, 100]<\/code><\/pre>\n<h3>5. Sorted<\/h3>\n<p>A fun\u00e7\u00e3o <code>sorted<\/code> classifica os elementos de um determinado iter\u00e1vel em uma ordem espec\u00edfica (crescente ou decrescente) e os retorna como uma lista. Ela aceita apenas 3 par\u00e2metros: <code>iterable<\/code>, <code>reverse<\/code>(opcional) e <code>key<\/code>(opcional). Em seguida, <code>reverse<\/code> tem como padr\u00e3o <code>False<\/code> e, se definido como <code>True<\/code>, os itens s\u00e3o classificados em ordem decrescente. <code>key<\/code> \u00e9 uma fun\u00e7\u00e3o que calcula um valor para determinar a ordem de classifica\u00e7\u00e3o do elemento em um iter\u00e1vel e tem como padr\u00e3o <code>None<\/code>.<\/p>\n<p>Aqui est\u00e1 um exemplo de como voc\u00ea pode aplicar a fun\u00e7\u00e3o <code>sorted<\/code> em v\u00e1rios iter\u00e1veis:<\/p>\n<pre><code class=\"language-python\"># set\npy_set = {'e', 'a', 'u', 'o', 'i'}\nprint(sorted(py_set, reverse=True))\n\n# dictionary\npy_dict = {'e': 1, 'a': 2, 'u': 3, 'o': 4, 'i': 5}\nprint(sorted(py_dict, reverse=True))\n\n# frozen set\nfrozen_set = frozenset(('e', 'a', 'u', 'o', 'i'))\nprint(sorted(frozen_set, reverse=True))\n\n# string\nstring = \"kinsta\"\nprint(sorted(string))\n\n# list\npy_list = ['a', 'e', 'i', 'o', 'u']\nprint(py_list)<\/code><\/pre>\n<p>Isso d\u00e1 a voc\u00ea o seguinte resultado:<\/p>\n<pre><code class=\"language-bash\">['u', 'o', 'i', 'e', 'a']\n['u', 'o', 'i', 'e', 'a']\n['u', 'o', 'i', 'e', 'a']\n['a', 'i', 'k', 'n', 's', 't']\n['a', 'e', 'i', 'o', 'u']<\/code><\/pre>\n<h2>Como lidar com casos extremos e erros em iter\u00e1veis<\/h2>\n<p>Os casos extremos s\u00e3o comuns em muitos cen\u00e1rios de programa\u00e7\u00e3o, e voc\u00ea deve antecip\u00e1-los em iter\u00e1veis. Vamos explorar algumas possibilidades que voc\u00ea pode encontrar.<\/p>\n<h3>1. Iter\u00e1veis vazios<\/h3>\n<p>Voc\u00ea pode se deparar com problemas quando um iter\u00e1vel est\u00e1 vazio, mas alguma l\u00f3gica de programa\u00e7\u00e3o tenta percorr\u00ea-lo. Voc\u00ea pode abordar isso programaticamente para evitar inefici\u00eancias. Aqui est\u00e1 um exemplo usando uma declara\u00e7\u00e3o <code>if not<\/code> para verificar se uma lista est\u00e1 vazia:<\/p>\n<pre><code class=\"language-python\">fruits_list=[]\nif not fruits_list:\n    print(\"The list is empty\")<\/code><\/pre>\n<p>Este \u00e9 o resultado:<\/p>\n<pre><code class=\"language-bash\">The list is empty<\/code><\/pre>\n<h3>2. Iter\u00e1veis aninhados<\/h3>\n<p>O Python tamb\u00e9m oferece suporte a iter\u00e1veis aninhados, que s\u00e3o objetos iter\u00e1veis que cont\u00eam outros iter\u00e1veis dentro deles. Por exemplo, voc\u00ea pode ter uma lista de alimentos contendo listas aninhadas de categorias de alimentos, como carnes, vegetais e gr\u00e3os. Veja como voc\u00ea pode modelar esse cen\u00e1rio usando iter\u00e1veis aninhados:<\/p>\n<pre><code class=\"language-python\">food_list = [[\"kale\", \"broccoli\", \"ginger\"], [\"beef\", \"chicken\", \"tuna\"], [\"barley\", \"oats\", \"corn\"]]\nfor inner_list in food_list:\n    for food in inner_list:\n        print(food)<\/code><\/pre>\n<p>No c\u00f3digo acima, a vari\u00e1vel <code>food_list<\/code> cont\u00e9m tr\u00eas listas aninhadas, representando diferentes categorias de alimentos. O loop externo (<code>for inner_list in food_list:<\/code>) percorre a lista prim\u00e1ria e o loop interno (<code>for food in inner_list:<\/code>) percorre cada lista aninhada, imprimindo cada item alimentar. O resultado \u00e9 o seguinte:<\/p>\n<pre><code class=\"language-bash\">kale\nbroccoli\nginger\nbeef\nchicken\ntuna\nbarley\noats\ncorn<\/code><\/pre>\n<h3>3. Tratamento de exce\u00e7\u00f5es<\/h3>\n<p>Em Python, os iter\u00e1veis tamb\u00e9m suportam opera\u00e7\u00f5es de tratamento de exce\u00e7\u00f5es. Por exemplo, voc\u00ea pode iterar em uma lista e encontrar um erro <code>IndexError<\/code>. Esse erro significa que voc\u00ea est\u00e1 tentando fazer refer\u00eancia a um elemento que excede os limites do iter\u00e1vel. Veja como voc\u00ea pode tratar essa exce\u00e7\u00e3o usando um bloco <code>try-except<\/code>:<\/p>\n<pre><code class=\"language-python\">fruits_list = [\"apple\", \"mango\", \"orange\", \"pear\"]\ntry:\n    print(fruits_list[5])\nexcept IndexError:\n    print(\"The index specified is out of range.\")<\/code><\/pre>\n<p>No c\u00f3digo acima, o iter\u00e1vel <code>fruits_list<\/code> cont\u00e9m cinco elementos mapeados pelos \u00edndices de <code>0<\/code> a <code>5<\/code> na cole\u00e7\u00e3o de listas. A frase <code>try<\/code> cont\u00e9m uma fun\u00e7\u00e3o <code>print<\/code> que tenta exibir o valor no \u00edndice <code>5<\/code> do iter\u00e1vel, que n\u00e3o existe. Isso executa a fun\u00e7\u00e3o <code>except<code> clause, returning the associated error message. The console returns the error:<\/code><\/code><\/p>\n<pre><code class=\"language-bash\">The index specified is out of range.<\/code><\/pre>\n<h2>Resumo<\/h2>\n<p>Dominar a itera\u00e7\u00e3o em Python \u00e9 fundamental para que voc\u00ea tenha um c\u00f3digo eficiente e leg\u00edvel. Compreender as v\u00e1rias maneiras de iterar sobre diferentes estruturas de dados, usando compreens\u00f5es, geradores e aproveitando as fun\u00e7\u00f5es integradas torna voc\u00ea um programador Python proficiente.<\/p>\n<p>Seja trabalhando com listas, dicion\u00e1rios, strings de caracteres ou objetos personalizados, saber como usar e manipular iter\u00e1veis \u00e9 uma habilidade indispens\u00e1vel na <a href=\"https:\/\/kinsta.com\/pt\/blog\/programacao-orientada-objetos-python\/\">programa\u00e7\u00e3o em Python<\/a>.<\/p>\n<p>Quando voc\u00ea terminar de criar seu aplicativo Python e quiser hosped\u00e1-lo on-line, experimente a <a href=\"https:\/\/sevalla.com\/application-hosting\/\">hospedagem de aplicativos da Kinsta<\/a>. Seus primeiros US$ 20 s\u00e3o por nossa conta!<\/p>\n<p><em>Voc\u00ea sentiu falta de alguma coisa neste artigo? Por favor, compartilhe na se\u00e7\u00e3o de coment\u00e1rios abaixo!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Na programa\u00e7\u00e3o Python, a compreens\u00e3o e o uso eficaz de iter\u00e1veis s\u00e3o fundamentais para a codifica\u00e7\u00e3o proficiente. Iter\u00e1veis s\u00e3o objetos que voc\u00ea pode iterar ou fazer &#8230;<\/p>\n","protected":false},"author":199,"featured_media":65539,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1001],"class_list":["post-65538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Domine a arte da itera\u00e7\u00e3o em Python com nosso guia abrangente sobre iter\u00e1veis em Python. Explore os detalhes e particularidades dos iter\u00e1veis em Python hoje mesmo!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python\" \/>\n<meta property=\"og:description\" content=\"Domine a arte da itera\u00e7\u00e3o em Python com nosso guia abrangente sobre iter\u00e1veis em Python. Explore os detalhes e particularidades dos iter\u00e1veis em Python hoje mesmo!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-01T08:54:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-08T13:26:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3043\" \/>\n\t<meta property=\"og:image:height\" content=\"1522\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Domine a arte da itera\u00e7\u00e3o em Python com nosso guia abrangente sobre iter\u00e1veis em Python. Explore os detalhes e particularidades dos iter\u00e1veis em Python hoje mesmo!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python\",\"datePublished\":\"2023-12-01T08:54:13+00:00\",\"dateModified\":\"2023-12-08T13:26:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/\"},\"wordCount\":2484,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/\",\"name\":\"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg\",\"datePublished\":\"2023-12-01T08:54:13+00:00\",\"dateModified\":\"2023-12-08T13:26:35+00:00\",\"description\":\"Domine a arte da itera\u00e7\u00e3o em Python com nosso guia abrangente sobre iter\u00e1veis em Python. Explore os detalhes e particularidades dos iter\u00e1veis em Python hoje mesmo!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg\",\"width\":3043,\"height\":1522},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python - Kinsta\u00ae","description":"Domine a arte da itera\u00e7\u00e3o em Python com nosso guia abrangente sobre iter\u00e1veis em Python. Explore os detalhes e particularidades dos iter\u00e1veis em Python hoje mesmo!","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:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/","og_locale":"pt_PT","og_type":"article","og_title":"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python","og_description":"Domine a arte da itera\u00e7\u00e3o em Python com nosso guia abrangente sobre iter\u00e1veis em Python. Explore os detalhes e particularidades dos iter\u00e1veis em Python hoje mesmo!","og_url":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2023-12-01T08:54:13+00:00","article_modified_time":"2023-12-08T13:26:35+00:00","og_image":[{"width":3043,"height":1522,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Domine a arte da itera\u00e7\u00e3o em Python com nosso guia abrangente sobre iter\u00e1veis em Python. Explore os detalhes e particularidades dos iter\u00e1veis em Python hoje mesmo!","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Jeremy Holcombe","Tempo estimado de leitura":"16 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python","datePublished":"2023-12-01T08:54:13+00:00","dateModified":"2023-12-08T13:26:35+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/"},"wordCount":2484,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/","url":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/","name":"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg","datePublished":"2023-12-01T08:54:13+00:00","dateModified":"2023-12-08T13:26:35+00:00","description":"Domine a arte da itera\u00e7\u00e3o em Python com nosso guia abrangente sobre iter\u00e1veis em Python. Explore os detalhes e particularidades dos iter\u00e1veis em Python hoje mesmo!","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/iterables-in-python.jpg","width":3043,"height":1522},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/iteraveis-em-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/kinsta.com\/pt\/topicos\/python\/"},{"@type":"ListItem","position":3,"name":"Iterar Como um Profissional: Um Guia para Iter\u00e1veis em Python"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/pt\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/65538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=65538"}],"version-history":[{"count":5,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/65538\/revisions"}],"predecessor-version":[{"id":65861,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/65538\/revisions\/65861"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65538\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65538\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65538\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65538\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65538\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65538\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65538\/translations\/es"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65538\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/65539"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=65538"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=65538"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=65538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}