Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Função range() do Python:Float, List, For loop Exemplos

O que é o intervalo do Python?


Python range() é uma função integrada disponível com Python a partir de Python(3.x), e fornece uma sequência de números com base no índice inicial e final fornecido. Caso o índice inicial não seja fornecido, o índice é considerado 0, e irá incrementar o valor em 1 até o índice stop.

Por exemplo range(5) irá gerar valores 0,1,2,3,4 .O Python range() é um comando muito útil e usado principalmente quando você tem que iterar usando o loop for.

Neste tutorial, você aprenderá:

Sintaxe

range(start, stop, step)

Parâmetros

Valor de retorno:


O valor de retorno é uma sequência de números do índice de início ao fim fornecido.

Python range() Função e histórico


Python range() foi introduzido a partir do python versão 3, antes que xrange() fosse a função.

Ambos range e xrange() são usados ​​para produzir uma sequência de números.

A seguir estão as diferenças entre range e xrange():
intervalo() xrange()
O range() fornece a sequência de números e retorna uma lista de números. A função xrange() fornece um objeto gerador que precisa ser repetido em um loop for para obter os valores.
O intervalo() retorna uma lista. xrange() retorna um objeto gerador.
O método range() usa mais memória, pois a lista retornada precisa ser armazenada em comparação com xrange(). Como xrange() retorna um objeto gerador, ele não fornece valores instantaneamente e deve ser usado dentro do loop for para obter os valores.
O uso de memória é maior, pois a execução do código é lenta ao trabalhar com um grande conjunto de dados. A execução do código é mais rápida usando xrange().

Usando intervalo()


Este exemplo mostra como imprimir os valores de 0 a 9 usando range().

O valor usado no intervalo é 10, então a saída é 0 1 2 3 4 5 6 7 8 9

Uma vez que o início não é dado, o início é considerado como 0 e o último valor é dado até 9. O último valor é sempre 1 a menos que o valor dado, ou seja, stop-1.
for i in range(10):
    print(i, end =" ")

Saída:
0 1 2 3 4 5 6 7 8 9

Usando iniciar e parar no intervalo()


No código, o valor inicial é 3 e o valor final é 10. Aqui o índice inicial é 3, então a sequência de números começará de 3 até o valor final. O último valor na sequência será 1 a menos que o valor de parada 10-1 =9.
for i in range(3, 10):
    print(i, end =" ")

Resultado:
3 4 5 6 7 8 9

Usando start, stop e step


O valor inicial é 3, então a sequência de números começará em 3. O valor de parada é 10, então a sequência de números irá parar em (10-1), ou seja, 9. O passo é 2, então cada valor na sequência será ser incrementado em 2. Se o valor da etapa não for fornecido, o valor padrão da etapa será 1.
for i in range(3, 10, 2):
    print(i, end =" ")

Saída:
3 5 7 9

Até agora, vimos como a função range() fornece o valor incrementado para o valor de parada fornecido. Vamos agora tentar um exemplo para obter o valor decrementado no intervalo dado.

Incrementando os valores no intervalo usando uma etapa positiva.


O parâmetro step em range() pode ser usado para incrementar/diminuir os valores. Por padrão, é um valor positivo 1. Portanto, sempre fornecerá valores incrementados.

O valor da etapa deve ser positivo caso você queira valores incrementados como saída.
for i in range(1, 30, 5):
    print(i, end =" ")

Saída:
1 6 11 16 21 26

Intervalo reverso:decrementando os valores usando passo negativo.


A etapa do parâmetro com valor negativo em range() pode ser usada para obter valores decrementados. No exemplo abaixo, o valor do passo é negativo, então a saída será decrementada do valor do intervalo fornecido.
for i in range(15, 5, -1):
    print(i, end =" ")

Saída:
15 14 13 12 11 10 9 8 7 6

O valor inicial é 15, o valor final é 5 e o valor da etapa é um número negativo, ou seja, -1. Com as entradas acima, a função range() diminuirá o valor de 15 em diante até atingir o valor de parada, mas aqui a diferença é que o último valor será stop + 1.

Usando números flutuantes no intervalo do Python()


Vamos agora trabalhar no range() usando números de ponto flutuante.

Exemplo:
for i in range(10.5):
    print(i, end =" ")

No exemplo acima, usamos o valor de parada como 10,5.

A saída é:
Traceback (most recent call last):
  File "python_range.py", line 1, in <module>
    for i in range(10.5):
TypeError: 'float' object cannot be interpreted as an integer

Python dá um erro porque a função range() não suporta números de ponto flutuante para start, stop e step.

Usando loop for com intervalo do Python()


Neste exemplo, usaremos um array de números e vamos ver como usar a iteração do array dentro do loop for usando range()

Exemplo:
arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase']

for i in range(len(arr_list)):
    print(arr_list[i], end =" ")

Saída:
MysqlMongodb PostgreSQL Firebase

No exemplo acima, usamos len(arr_list) como o valor de parada. O loop for iterará até o valor de parada, ou seja, o comprimento do array e que será 4, pois temos quatro itens no arr_list. O valor inicial será 0 e o passo será 1. Portanto, os valores começarão em 0 e pararão em 3, ou seja, comprimento da matriz -1, significando 4 -1 =3.

Usando Python range() como uma lista


Neste exemplo veremos como usar a saída do intervalo como uma lista.

Exemplo:
print(list(range(10)))

Saída:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Você pode ver que a saída é um formato de lista. Não foi necessário fazer um loop no range() e usando o método list() podemos converter diretamente a saída do formato de intervalo para lista.

Usando caracteres em python range()


Até agora, usamos inteiros em python range(). Também vimos que os números de ponto flutuante não são suportados no intervalo python. Vamos tentar ver a saída do que acontece quando usamos caracteres.

Exemplo:
for c in range ('z'):
        print(c, end =" ")

Resultado:
Traceback (most recent call last):
  File "python_range.py", line 1, in <module>
    for c in range ('z'):
TypeError: 'str' object cannot be interpreted as an integer

Ele lança um erro dizendo que uma string não pode ser interpretada como um inteiro.

Para obter a lista dos alfabetos você pode personalizar o código e obter a saída desejada conforme mostrado abaixo:

Exemplo:
def get_alphabets(startletter, stopletter, step):
    for c in range(ord(startletter.lower()), ord(stopletter.lower()), step):
        yield chr(c)

print(list(get_alphabets("a", "h", 1)))

Saída:
['a', 'b', 'c', 'd', 'e', 'f', 'g']

Como acessar elementos de intervalo


Você pode usar um loop for para obter os valores do intervalo ou usar o índice para acessar os elementos do intervalo().

Usando loop for


Exemplo:
for i in range(6):
    print(i)

Saída:
0
1
2
3
4
5

Usando índice


O índice é usado com intervalo para obter o valor disponível nessa posição. Se o valor do intervalo for 5, para obter o valor inicial, você pode usar range(5)[0] e o próximo valor range(5)[1] e assim por diante.

Exemplo:
startvalue = range(5)[0] 
print("The first element in range is = ", startvalue) 

secondvalue = range(5)[1] 
print("The second element in range is = ", secondvalue) 

lastvalue = range(5)[-1]
print("The first element in range is = ", lastvalue)

Saída:
startvalue = range(5)[0] 
print("The first element in range is = ", startvalue) 

secondvalue = range(5)[1] 
print("The second element in range is = ", secondvalue) 

lastvalue = range(5)[-1]
print("The first element in range is = ", lastvalue)

Usando lista()


Este método imprimirá todos os elementos do intervalo(). Usando list(), ele retornará os elementos de range() no formato de lista.

Exemplo:
print(list(range(10)))

Saída:
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Ele fornece a saída da lista para o intervalo fornecido.

Exemplo:obter números pares usando range()


Usando range() obterá a lista de números pares no intervalo dado como entrada. Os parâmetros para range() são, start é 2, stop é 20 e step é 2, então os valores serão incrementados em 2 e darão números pares até stop-2.

Exemplo:
for i in range(2, 20, 2):
    print(i, end =" ")

Saída:
2 4 6 8 10 12 14 16 18

Mesclando saídas de dois intervalos()


Neste exemplo concatenaremos 2 funções range() com a ajuda da função chain() do módulo itertools.

Exemplo:
from itertools import chain 

print("Merging two range into one") 
frange =chain(range(10), range(10, 20, 1))
for i in frange: 
    print(i, end=" ")

Saída:
Merging two range into one
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Usando range() com NumPy


O módulo NumPy possui a função arange() que funciona e fornece uma saída semelhante como range(). Oarran() recebe os mesmos parâmetros como range().

Sintaxe:
arange(start, stop, step)

Para trabalhar com o NumPy, siga as etapas abaixo.

Etapa 1 :Importar módulo NumPy
import numpy

Incase durante a execução, dá um erro dizendo que o módulo numpy não foi encontrado, você precisa instalar o módulo conforme mostrado na etapa 2.

Etapa 2 :Instalar NumPy
pip install numpy

Etapa 3 :Exemplo de trabalho de arange() usando NumPy
import numpy as np 

for  i in np.arange(10):
   print(i, end =" ")        

Saída:
0 1 2 3 4 5 6 7 8 9

Números de ponto flutuante usando NumPy arange()


Não é possível obter a sequência de ponto flutuante usando range(), mas é possível usando NumPy arange().

Exemplo:

O intervalo que queremos é de 0,5 a 1,5. O valor será incrementado em 0,2.
import numpy as np 

for  i in np.arange(0.5, 1.5, 0.2):
   print(i, end =" ")        

Saída:
0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998

A saída que obtemos é um pouco estranha, alguns dos números float são mostrados com 16 casas decimais. Isso acontece devido à complexidade de armazenar números flutuantes decimais em formato binário. Você também pode arredondar os valores, se necessário, e limitá-los às casas decimais necessárias.

Resumo:


python

  1. Argumentos da função Python
  2. Função anônima/Lambda do Python
  3. Geradores Python
  4. Funções do Python Lambda com EXEMPLOS
  5. Função Python abs():exemplos de valor absoluto
  6. Função Python round() com EXEMPLOS
  7. Função range() do Python:Float, List, For loop Exemplos
  8. Função Python map() com EXEMPLOS
  9. Função Enumerate() em Python:Loop, Tuple, String (Exemplo)
  10. Python List count() com EXEMPLOS