2013-07-21 12 views
15

Jeśli mam tablicę x i wykonuję numer np.repeat(x,2), praktycznie duplikuję tablicę.Jak usunąć wszystkie inne elementy tablicy w python? (Odwrotność np.repeat()?)

>>> x = np.array([1,2,3,4])  
>>> np.repeat(x, 2) 
array([1, 1, 2, 2, 3, 3, 4, 4]) 

Jak mogę zrobić coś odwrotnego, tak że kończę z oryginalną tablicą?

powinny także współpracować z losową Y tablicy:

>>> y = np.array([1,7,9,2,2,8,5,3,4]) 

Jak każdy inny element I usunąć tak, że kończy się z następujących obszarów?

array([7, 2, 8, 3]) 

Odpowiedz

33

y[1::2] powinien wykonać zadanie. Tutaj drugi element jest wybierany przez indeksowanie z 1, a następnie wzięty w przedziale 2.

+0

jeśli chcesz y zawrzeć tę informację, powinna to być y = y [1: 2] – rafee

0

Miałem problemy z czym, jeśli poprosiłeś o wprowadzenie tablicy przez użytkownika?

Więc dokonywania funkcja pomogło:

def remove_every_other(my_list): 
    return my_list[::2] 
    pass 

To pomogło mi zrozumieć, że jeśli każdy użytkownik miał wejść w tablicy, możemy obsługiwać go przez wywołanie tej funkcji.

Powiązane problemy