Wpis z mikrobloga

#python #naukaprogramowania
nie mogę wymyślić jak to zrobić...
proszę o pomoc
mam listę a=[0,10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
chciałbym otrzymać wszystkie liczby pomiędzy każdym z elementów
pomiędzy 0 a 10 mamy 1,2,3,4,5,6,7,8,9, i 10 włącznie
i następne 10 i 20 , 11, 12, 13, 14 15, itd....
  • 26
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@croppz: tak jak poisalem mam liste elementow :
a=[0,10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
chce by mi wyswietlilo elementy pomiedzy kazdym z elementow glownych:
czyli masz element a[0]=0 i a[1]=10 potrzebuje wszystkie elementy miedzy nimi, po ich wyswietleniu idzie przeskok do nastepnej pary czyli a[2]=20 i a[2]=30 i otrzymuje te elementy
  • Odpowiedz
@luukasek: nie wiem, tak?

out = [x for key, item in enumerate(some) for x in range(some[key-1], item) if key]
ewentualnie:

out = [x for key, item in enumerate(some) for x in range(some[key-1]+1, item+1) if key]
gdzie some, to twoja lista
  • Odpowiedz
@@luukasek: tak w ogóle to jest bez sensu bo twoja lista zawsze da cłągłość liczb od pierwszego do ostatniego elementu, więc nie potrzebnie namieszałeś tymi zakresami
  • Odpowiedz
@draxter: @luukasek: najprościej to chyba tak, enumerate nie ma raczej co tu wciskać.

x=(range(a[x]+1, a[x+1]+1) for x in range(len(a)))
Oczywiście zakładając że "przeskok" ma mieć jakieś znaczenie, a wartości to nie są po prostu kolejne wielokrotności dziesiątki. W przeciwnym wypadku jak to @OPcodeRTI zauważył równie dobrze można wziąć po prostu pierwszy i ostatni element listy.

Naucz się opie precyzyjniej pytania zadawać, bo inaczej ci kariery w tej
  • Odpowiedz
@OPcodeRTI: nie, potrzebuje tak bo bedzie to robione na duzych liczbach
i duzych zakresach
1000000000000
ni jak by nie bylo nie wyswietisz kazdego elementu z zakresu a=list(range(100000000000000)) bo sie wywroci, trzeba to podzielic na mniejsze dzialki,max zakres tabeli w py to 536870910
tak wiec dziele liczbe na zakresy i z nich biore pojedyncze...
  • Odpowiedz
ni jak by nie bylo nie wyswietisz kazdego elementu z zakresu a=list(range(100000000000000)) bo sie wywroci, trzeba to podzielic na mniejsze dzialki,max zakres tabeli w py to 536870910


@luukasek: o typie... do tego są generatory, a nie jakieś heretyckie sposoby krojenie list.
  • Odpowiedz