2015-08-04 5 views
0

Сортировки Вектор списки X, Y, значений Z в Pythonсортировка и упорядочение списков векторов в питоне

Здравствуйте, может кто-то пожалуйста, мне точку в направлении к немного сложной сортировки списка питона - (в настоящее время список не является кортежем)

У меня есть список векторов, которые я хочу сортировать для построения в 3D-пространстве, желаемый результат состоит в том, что они индексируются как книга, читающая слева вверху, внизу справа, и с первой страницы на заднюю страницу.

Для простоты я использовал X, Y, Z значение из 5 в качестве примера ...

# X,Y,Z vector list 

vector_list = [(5,5,5), (15,5,5),(20,5,5),(25,5,5), (5,10,5),(5,15,5) 
(5,20,5), (5,25,5), (25,25,5), (15,25,5),(15, 5, 5), (10,5, 5), (20,20,5)] 


# (Plots/reads like a book, from the top line (Y) - across left to right (X), - then in depth (Z). 

# Sort order: 

# First via Highest Y values, vector_list[1] 
# Second via Lowest X values, vector_list[0] 
# Third via Lowest Z values, vector)list[2] 

# Desired ouput (5, 25, 5), (15, 25, 5), (25, 25, 5),(5, 20, 5), (20, 20, 5) 
# (5, 15, 5), (5, 10, 5) etc... 

я могу получить сортировки работать через значения Y, или через общие значения, используя

sorted(a, key=lambda tup: tup[1]) 

Но не может отслеживать сортировку X или Z без потери отсортированных значений Y.

Любая помощь была бы высоко оценена!

ответ

2

Попробуйте использовать

sorted(a, key=lambda tup: (-tup[1],tup[0],tup[2])) 
+0

Если ответили на свой вопрос, пожалуйста, пометьте его как Правильно :) –

+0

я надеюсь, что он вознаграждает вас правильно для делать свою домашнюю работу: P – KurzedMetal

+0

Я получаю ощущение, что это не происходит в ближайшее время –

Смежные вопросы