Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Python - Python - tablice

moniqa90 17 Sty 2017 11:59 939 13
  • #1 17 Sty 2017 11:59
    moniqa90
    Poziom 7  

    Witam,

    dopiero zaczynam swoją przygodę z pythonem.
    Mam dwie tablice:
    a = [1,2,3]
    b = [4,5,6]

    chciałabym uzyskać trzy tablice z takimi danymi:
    test1 = [1,4]
    test2 = [2,5]
    test3 = [3,6]

    chciałabym żeby to działało w pętli. Napisałam takie makro, które niestety nie działa:
    test=[]
    a = [1,2,3]
    b = [4,5,6]
    for i in range(len(a)):
    test[i] = [a[i], b[i]]

    pojawia się błąd: "index out of range: 0"
    Może ktoś wie jak to zrobić i dlaczego taki błąd się pojawia?

    0 13
  • #3 17 Sty 2017 12:43
    moniqa90
    Poziom 7  

    ale ja chcę uzyskać z dwóch tablic "a" i "b" trzy tablice test: test1, test2, test3. Jeżeli wrzucę Twoje dwie propozycje w swoją pętlę to na koniec uzyskam taki wynik:[1,2,3,1,4,2,5,3,6]

    0
  • #5 17 Sty 2017 13:05
    moniqa90
    Poziom 7  

    Nie musisz się tak zaraz unosić. Dokładnie napisałam, że moje makro nie działa tak jak powinno i pytałam jak to poprawić.
    Co mi da eliminacja błędu, skoro efekt nie jest taki jaki być powinien. Napisałam również co chciałam uzyskać.

    0
  • #6 17 Sty 2017 13:59
    namok
    Poziom 25  

    Kod: python
    Zaloguj się, aby zobaczyć kod

    0
  • #7 17 Sty 2017 14:11
    moniqa90
    Poziom 7  

    namok, dziękuję. Jestem zdecydowanie bliżej niż byłam. Z tym, że da się to jakoś wrzucić do pętli? Bo jak mam tylko trzy tablice to ok, można tak napisać, ale co jeżeli ich liczba się zmienia albo jest bardzo duża?

    0
  • #8 17 Sty 2017 15:59
    namok
    Poziom 25  

    moniqa90 napisał:
    namok, dziękuję. Jestem zdecydowanie bliżej niż byłam. Z tym, że da się to jakoś wrzucić do pętli? Bo jak mam tylko trzy tablice to ok, można tak napisać, ale co jeżeli ich liczba się zmienia albo jest bardzo duża?
    Zrezygnuj z wielu tablic, trzymaj wszystko w jednej
    Kod: python
    Zaloguj się, aby zobaczyć kod

    0
  • #9 17 Sty 2017 16:02
    bartosz.90
    Poziom 2  

    A jak będę chciała zrobić wykres? Wtedy jedna tablica jest klopotliwa

    0
  • #10 17 Sty 2017 21:30
    namok
    Poziom 25  

    bartosz.90 napisał:
    A jak będę chciała zrobić wykres? Wtedy jedna tablica jest klopotliwa
    Jedna tablica jest dobra, trzeba tylko wiedzieć jak jej użyć.

    Dodano po 5 [godziny] 15 [minuty]:

    To nie jest wcale trudne:
    Kod: python
    Zaloguj się, aby zobaczyć kod

    0
  • #11 18 Sty 2017 07:25
    moniqa90
    Poziom 7  

    Nie doprecyzowałam. Mam jakąś tabelę X = [0, 1000]. Została ona prędzej zdefiniowana. I teraz te tabele od test1 do np. test100 to są tabele z danymi dla osi Y. Jeżeli mam np. 100 tabel Y to znaczy, że będę miała 100 różnych krzywych. Dla przykładu:
    X = [0, 1000]
    Y = [1, 4]

    I to będzie jedna krzywa, a następna dla przykładu będzie wyglądać tak:
    X= [0, 1000]
    Y = [2, 5]

    Mam nadzieję, że czytelnie przestawiłam problem.

    0
  • #12 18 Sty 2017 08:36
    namok
    Poziom 25  

    moniqa90 napisał:
    Nie doprecyzowałam. Mam jakąś tabelę X = [0, 1000]. Została ona prędzej zdefiniowana. I teraz te tabele od test1 do np. test100 to są tabele z danymi dla osi Y. Jeżeli mam np. 100 tabel Y to znaczy, że będę miała 100 różnych krzywych. Dla przykładu:
    X = [0, 1000]
    Y = [1, 4]

    I to będzie jedna krzywa, a następna dla przykładu będzie wyglądać tak:
    X= [0, 1000]
    Y = [2, 5]

    Mam nadzieję, że czytelnie przestawiłam problem.
    Teraz to kompletnie Cię nie rozumiem. Pierwszy post był jasny i klarowny. Chiciałaś z dwu tablic zrobić kilka tablic z kolejnych elementów tychże tablic. Pokazałem jak to zrobić, tyle że te dwuelementowe tablice zapisałem do jednej a w ostatnim poście pokazałem jak wyciągnąć dane z tej tablicy. Wyrażenie 'print x, y' mażna zastąpić dowolną funkcją wykorzystującą dwie zmienne x i y.
    Tak dla jasności tablica tab wygląda następująco:
    Kod: python
    Zaloguj się, aby zobaczyć kod

    0
  • #13 18 Sty 2017 12:06
    moniqa90
    Poziom 7  

    namok napisał:
    bartosz.90 napisał:
    A jak będę chciała zrobić wykres? Wtedy jedna tablica jest klopotliwa
    Jedna tablica jest dobra, trzeba tylko wiedzieć jak jej użyć.

    Dodano po 5 [godziny] 15 [minuty]:

    To nie jest wcale trudne:
    Kod: python
    Zaloguj się, aby zobaczyć kod


    Czyli wg tego kodu liczby 1, 2, 3 będą zmienną x a liczby 4, 5, 6 będą zmienną y. I wynika z tego, że będę miała tylko jedną krzywą na wykresie?

    Ja chcę stworzyć taki wykres:
    Python - Python - tablice

    Z tym, że ja w rzeczywistości mogę mieć tych krzywych na wykresie znacznie więcej.
    chciałam potem zrobić tabelę korzystając z tego:
    columns = [XArray, YArray1,....YArray100]
    tab.setdata(tab.labels,columns)
    tabularPanel.Show()
    A potem wykres korzystając z tego:
    figures.clear()
    figure.plot(XArray, YArray1, '-r',variablelabel = "mode1")
    .
    .
    figure.plot(XArray, YArray100, '-r',variablelabel = "mode1")

    0
  • #14 18 Sty 2017 13:59
    namok
    Poziom 25  

    moniqa90 napisał:
    namok napisał:
    bartosz.90 napisał:
    A jak będę chciała zrobić wykres? Wtedy jedna tablica jest klopotliwa
    Jedna tablica jest dobra, trzeba tylko wiedzieć jak jej użyć.

    Dodano po 5 [godziny] 15 [minuty]:

    To nie jest wcale trudne:
    Kod: python
    Zaloguj się, aby zobaczyć kod


    Czyli wg tego kodu liczby 1, 2, 3 będą zmienną x a liczby 4, 5, 6 będą zmienną y. I wynika z tego, że będę miała tylko jedną krzywą na wykresie?
    x i y to moja interpretacja na podstawie tego co napisałaś wcześniej. Ja nie wiem co to za dane i co reprezentują.

    w poście #6 napisałem
    Kod: python
    Zaloguj się, aby zobaczyć kod
    Co jak rozumiem było ok ale chciałaś mić to samo dla tablic a i b o większym rozmiarze.
    Cytat:
    Jestem zdecydowanie bliżej niż byłam. Z tym, że da się to jakoś wrzucić do pętli? Bo jak mam tylko trzy tablice to ok, można tak napisać, ale co jeżeli ich liczba się zmienia albo jest bardzo duża?
    Więc podałem metodę dla większej ilości tablic ale nie tworzyłem wielu zmiennych tylko te tablice zawarłem w tablicy tab:
    Kod: python
    Zaloguj się, aby zobaczyć kod
    Podaj więc przykład z większą ilością danych, powiedz co jest co to może do czegoś dojdziemy.

    0