2014-12-22 2 views
2

У меня есть два списка, которые будут созданы во время выполнения. Я хочу объединить списки, которые были сделаны для доступа к данным позже в коде, с конечной целью упрощения моего кода и повышения эффективности моей модели. Могут ли списки быть объединены путем включения одного в другой или есть другой способ? Спасибо.Можно ли объединить списки, включив один список в другой?

ответ

2

Возможно, это более эффективный способ сделать это, но цикл через один из списков (с foreach) и добавление элемента в другой список (с lput) будет работать.

to setup 
    let mylist1 [1 2 3] 
    let mylist2 [4 5 6] 
    foreach mylist1 [ set mylist2 lput ? mylist2 ] 
    show mylist2 
end 
4

Обычный способ конкатенации списков, используя sentence примитивно. Это даст вам новый список, составленный с элементами ваших двух исходных списков, как в ответе Джен.

В качестве альтернативы вы можете использовать примитив list для создания списка с двумя исходными списками, включенными в список под.

Следующий пример показывает оба метода:

to setup 
    let list1 [ 1 2 3 ] 
    let list2 [ 4 5 6 ] 
    print sentence list1 list2 ; will print: [1 2 3 4 5 6] 
    print list list1 list2 ; will print: [[1 2 3] [4 5 6]] 
end 

Какой вы должны предпочесть, зависит, конечно, от того, что вы хотите с ним делать ...

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