Python - wyłuskanie listy z listy wielowymiarowej

0

Hej!
Mam pewien problem z listami w pythonie.
Mam przykładową tablicę wielowymiarową:

a = [
[[1,1,1],[2,2,2],[3,3,3],[4,4,4]],
[[1,1,1],[2,2,2],[3,3,3],[4,4,4]],
[[1,1,1],[2,2,2],[3,3,3],[4,4,4]],
[[1,1,1],[2,2,2],[3,3,3],[4,4,4]]
]

Potrzebuję wyłuskać np. po ostatnim elemencie z każdej najbardziej zagnieżdżonej listy a więc:

b = [
[1,2,3,4],
[1,2,3,4],
[1,2,3,4],
[1,2,3,4]
]

Czy da się to zrobić bez przechodzenia po elementach za pomocą forów?
Jakaś funkcja z numpy lub nie wiem użycie zapisu z dwukropkiem( w sensie "a[:]")?

Pozdrawiam serdecznie!

EDIT:
Przez pośpiech nie zawarłem jednej zagnieżdżonej pętli

2

Jeśli pracujesz na listach, to możesz zrobić jakieś proste list comprehension albo map (czyli w sumie zamaskować pętlę):

c = [x[-1] for x in b]

jakbyś zrobić z tego numpy.ndarray to mógłbyś to zrobić przez indeksowanie / slicing itp

0

Edytowałem post,
w takim wypadku wydaje się, że powinienem rozszerzyć Twoją listę składaną poprzez zagnieżdżenie.
To rozwiazuje problem:

c = [[x[-1] for x in y] for y in a]

Dzięki za pomoc :)
Naprowadziłeś mnie :)

1
CzakuGim napisał(a):

Edytowałem post,
w takim wypadku wydaje się, że powinienem rozszerzyć Twoją listę składaną poprzez zagnieżdżenie.
To rozwiazuje problem:

c = [[x[-1] for x in y] for y in a]

Dobrze, tylko zły nawias

c = [[x[-1] for x in y] for y in a]
0
JustCuzICan napisał(a):
CzakuGim napisał(a):

Edytowałem post,
w takim wypadku wydaje się, że powinienem rozszerzyć Twoją listę składaną poprzez zagnieżdżenie.
To rozwiazuje problem:

c = [[x[-1] for x in y] for y in a]

Dobrze, tylko zły nawias

c = [[x[-1] for x in y] for y in a]

Taaak, zdążyłem się zorientować :D

Dla jasności, użyłem:

c = [(x[-1] for x in y) for y in a]

co oczywiście było błędne.

Ale dzięki!

1

Jak zaczynasz wchodzić w wielowymiarowe tablice, to może lepiej będzie jeśli jednak przejdziesz z tym do numpy - jak wymiary zaczynają się mnożyć, to coraz łatwiej sobie nababrać i nagmatwać - poza tym jeśli gdzieś się trafi np pusta pod-lista to rozwiązanie się sypnie albo będzie wymagało dodatkowego sprawdzenia i znów kod się komplikuje ;)

0

Będę pamiętać na przyszłość :)
Dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1