Desde que comecei a codificar em Python , gosto da maneira como a lista é gerenciada.
Quando você codifica em Java (versão 6), por exemplo, e deseja obter os valores indexados ímpar / par (como fazer x_y points do formato csv), você precisa passar por todos os valores e fazer a verificação:
int[] point_csv_array = {5, 12, 3, 21, 8, 7, 19, 102 };
//you want array_X = {5, 3, 8 ,19}
//you want array_Y = {12,21,7,102}
List<Integer> array_X = new ArrayList<Integer>();
List<Integer> array_Y = new ArrayList<Integer>();
for (int i : point_csv_array) {
if ((i & 1) == 1) {
array_X.add(i);
} else {
array_Y.add(i);
}
}
System.out.println("array_X:" + array_X);
System.out.println("array_Y:" + array_Y);
Em Python , para obter o mesmo resultado, você pode usar a função de fatiamento :
point_csv_array = [5, 12, 3, 21, 8, 7, 19, 102]
array_X = l[::2]
array_Y = l[1:][::2]
print("array_X: " + str(array_X))
print("array_Y: " + str(array_Y))
Para explicação:: l[::2]
a função de fatiamento aqui (desde Python 2.3 ) leva 1 elemento em 2 . Se você fizer l[::3]
isso, terá 1 elemento em 3 , portanto, serão os números indexados ímpares. l[1:][::2]
: a primeira [1:]
função de fatiamento aqui retorna uma lista do segundo número até o final da lista. Seguimos o elemento 1 em 2, portanto, serão os números indexados pares.