51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Itertools
 | |
| localeTitle: Itertools
 | |
| ---
 | |
| Itertools é um módulo python de funções que retorna geradores, objetos que só funcionam quando são iterados. Alguns exemplos de funções itertool incluem, mas não se limitam a: chain (), imap (), product () e compress ().
 | |
| 
 | |
| ### cadeia()
 | |
| 
 | |
| A função chain () toma vários iteradores como argumentos e retorna um único iterador que produz o conteúdo de todos eles como se eles viessem de uma sequência.
 | |
| 
 | |
| ```py
 | |
| import itertools 
 | |
|  list(itertools.chain([1, 2], [3, 4])) 
 | |
|  
 | |
|  # Output 
 | |
|  # [1, 2, 3, 4] 
 | |
| ```
 | |
| 
 | |
| ### islice ()
 | |
| 
 | |
| A função islice () retorna um iterador que retorna itens selecionados do iterador de entrada, por índice. Leva os mesmos argumentos que o operador de fatia para listas: iniciar, parar e passo. Iniciar e parar são opcionais.
 | |
| 
 | |
| ```py
 | |
| import itertools 
 | |
|  list(itertools.islice(count(), 5)) 
 | |
|  
 | |
|  # Output 
 | |
|  # [0,1, 2, 3, 4] 
 | |
| ```
 | |
| 
 | |
| ### izip ()
 | |
| 
 | |
| izip () retorna um iterador que combina os elementos de vários iteradores em tuplas. Ele funciona como a função interna zip (), exceto pelo fato de retornar um iterador ao invés de uma lista.
 | |
| 
 | |
| ```py
 | |
| import itertools 
 | |
|  list(izip([1, 2, 3], ['a', 'b', 'c'])) 
 | |
|  
 | |
|  # Output 
 | |
|  # [(1, 'a'),(2, 'b'),(3, 'c')] 
 | |
| ```
 | |
| 
 | |
| Iteradores combinatórios:
 | |
| 
 | |
| Resultados dos Argumentos do Iterador produto () p, q,… \[repeat = 1\] produto cartesiano, equivalente a um loop for aninhado permutações () p \[, r\] tuplas de comprimento r, todas as ordenações possíveis, sem elementos repetidos combinações () p, r tuplas de comprimento r, em ordem de classificação, sem elementos repetidos combinações _com_ tuplas de substituição () p, r r-length, em ordem de classificação, com elementos repetidos produto ('ABCD', repetir = 2) AA AB AC AD BA BB BC BD CA CD CC CD DA DB DC DD permutações ('ABCD', 2).
 | |
| 
 | |
| combinações ('ABCD', 2) AB AC DC AD BD CD
 | |
| 
 | |
| combinações _com_ substituição ('ABCD', 2) AA AB AC DC BB BC BD CC CD DD
 | |
| 
 | |
| Fonte: https://docs.python.org/3/library/itertools.html |