2014-08-27 3 views
1

Это вопрос о переупорядочении частей вложенных списков в Mathematica.
У меня есть вложенный список:
DatenList = {{1, {100, 200}}, {2, {101, 201}}, {3, {102, 202}}};
и хочет получить еще один список, как
{{1,100},{2,101}}Аккуратная экстракция элементов в вложенных списках (Mathematica)

Есть аккуратнее способ, чем
temp = DatenList[[1 ;; 2, 1]]; temp2 = DatenList[[1 ;; 2, 2]][[;; , 1]]; temp = {temp}~Join~{temp2}; finalList = Transpose[temp]
, который дает
{{1, 100}, {2, 101}}

ответ

2
temp2 = DatenList[[1 ;; 2, 2]][[;; , 1]] 

пояснить как

temp2 = DatenList[[1 ;; 2, 2, 1]] 

В противном случае, вся операция может быть сделано несколькими способами: -

finalList = {#1, First[#2]} & @@@ DatenList[[1 ;; 2]] 

finalList = DatenList[[1 ;; 2]] /. {a_Integer, {b_, _}} :> {a, b} 

finalList = Replace[DatenList[[1 ;; 2]], {a_, {b_, _}} :> {a, b}, 1] 

finalList = MapThread[{#1, First[#2]} &, Transpose[DatenList[[1 ;; 2]]]] 
+0

Спасибо за быстрый ответ. Мне нравится первое решение лучше всего. – AWi

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