mapcar с лямбда и двумя списком в качестве ввода -- list поле с участием lambda поле с участием common-lisp пол Связанный проблема

mapcar with lambda and two list as input


0
vote

проблема

русский

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

 <код>   1 (setf list1 '(1 2 3))   2 (setf list2 '(10 100))   3    4 (defun som(x y )   5         (* x y))   6    7    8 (print(mapcar #'(lambda(x)x)  list1))   9 (print (mapcar #'(lambda(x)x)  list1))   

Возвращает следующее:

 <код> (1 2 3)  (1 2 3)    

Тогда я хотел бы понять, как сделать следующее:

 <код> (setf list1 '(1 2 3)) (setf list2 '(10 100)) (mapcar '#+ x y)   

Для того, чтобы получить следующее: ((11 101) (12 102) (13 103)), это добавить первый элемент первого списка каждому элементу второго списка. Конечно, я мог, очень быстро определить функцию, которая пережила бы через список и применить MapCar в список. Мне было интересно, есть ли какой-либо примитив, который бы это сделал.

Спасибо, спокойной ночи

Английский оригинал

first, i would like to understand the difference, if there is any, in the following code:

  1 (setf list1 '(1 2 3))   2 (setf list2 '(10 100))   3    4 (defun som(x y )   5         (* x y))   6    7    8 (print(mapcar #'(lambda(x)x)  list1))   9 (print (mapcar #'(lambda(x)x)  list1)) 

which returns the following:

(1 2 3)  (1 2 3)  

Then i would like to understand how to do the following:

(setf list1 '(1 2 3)) (setf list2 '(10 100)) (mapcar '#+ x y) 

in order to get the following: ((11 101) (12 102) (13 103)), this is, add the first item of the first list to every item of the second list. Of course I could, very quickly define a function which would iterate through a list and apply a mapcar to the list. I was wondering if there is any primitive which would do that.

Thanks, have a good night

</div
        
   
   

Список ответов

0
 
vote
vote
Лучший ответ
 

Ваш код

 <код> addEventListener3  

;; Это то же самое между формами, которые вам не нужно пространство ;; Но это более читает, чтобы писать вещи с спадами и вкладками

Так вот как я прошу написать выражение

 <код> addEventListener4  

или вы можете использовать функцию идентификатора

 <код> addEventListener5  

Всегда решайте, что первый элемент формы - это функция для оценщика

Чтобы понять это, вам необходимо получить полное понимание лямбда, а также функции карты и функции карты в Lisp также будут полезны для изучения функционального программирования, в том случае, в этом случае вы будете использовать это так быстро, как вы будете писать итеративную версию

У вас будут другие апрачеи, это не одна из моих фамилов, потому что использование глобальных переменных, но он должен сделать толстые, что он всегда помнит меня к итеративной версии

 <код> addEventListener6  
 

Your code

(setf list1 '(1 2 3)) (setf list2 '(10 100))  (defun som(x y )         (* x y))   (print(mapcar #'(lambda(x)x)  list1)) (print (mapcar #'(lambda(x)x)  list1)) 

;; This is the same between forms you do not need the space ;; but it is more readeable to write things with spcaes and tabs

so this is how I woul write the expression

(print (mapcar #'(lambda (x) x)  list1)) 

or you can use the function identity

(print (mapcar #'identity list1)) 

allways remeber that the first element of the form is a function for the evaluator

to understand this you need to get a full understanding of lambda experssions and map functions in lisp also will be useful to learn functional programming, in that case you will wirte this as quickly as you will write the iterate version

You will have other aproches, this is not one of my foavourites because the use of global variables but it should do the thick it allways remember me to the iterative version

(defparameter *list1* '(1 2 3)) (defparameter *list2* '(10 100))  (print (mapcar (lambda (x) (mapcar (lambda (y) (+ x y)) *list2*)) *list1*)) 
</div
 
 
 
 

Связанный проблема

60  Получение ConcurrentModificationException брошенного при удалении элемента из списка java.util.List во время итерации? [Дубликат]  ( Getting a concurrentmodificationexception thrown when removing an element from a ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

18  Исключая один элемент из списка (по индексу) и взять все остальные  ( Excluding one item from list by index and take all others ) 
Есть <код> List<int> , содержащий набор номеров. Случайно я выбираю индекс, который будет обработан отдельно (вызовите его Master ). Теперь я хочу исключить э...

3907  Доступ к индексу в петлях «Для '»?  ( Accessing the index in for loops ) 
Как мне получить доступ к индексу в <код> for LOOP, как следующее? <код> ints = [8, 23, 45, 12, 78] for i in ints: print('item #{} = {}'.format(???, i)...

0  Backendless - Android: Удаление объекта из списка  ( Backendless android removing an object from list ) 
Я хочу удалить пользователя из списка, но кажется, что он не работает. У меня есть корм. Класс в моем проекте, где у меня есть: <код> public class Feeds { p...

1  В Scala, какой правильный способ сортировки списка на композитный ключ  ( In scala what is the right way to sort a list on a composite key ) 
Я пытаюсь получить лучшие элементы N-1 из списка. Я прошел через подобные посты в так, как здесь . Я понял мотивы за решениями, предложенными на этих постах....

0  Извлечение последних предметов из вложенных списков в Python [дубликат]  ( Extracting the last items from nested lists in python ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

0  C # Исключение, где емкость ниже, чем количество  ( C sharp exception where capacity is lower than count ) 
Я ударю исключение со списком в C #, когда добавляю элемент в списке. Я не могу видеть ничего конкретного там. <Код> tempList.ForEach(tempDis => alloc.ListD...

2  Синтаксис Java Generics и вызывая метод в типах интерфейсов, таких как список  ( Java generics syntax and calling a method on interface types such as list ) 
В чем причина поддерживает синтаксис ниже на Java 1.7 <код> List<Integer> ints=new ArrayList<>(); Какая гибкость предоставляет это? Если бы мы хотели IN...

1  Добавление Matrix в Python - список  ( Matrix addition in python list ) 
Я пытаюсь написать функцию добавления Matrix с помощью Python. Вот код, который я пытался, но это дает мне ошибку индекса списка, и я не могу понять, почему...

2  Не удалось десериализировать объект JSON  ( Failed to deserialized json object ) 
Я хочу сохранить список на Android SharedPreferences, но что-то не так, как говорит журнал. Мой код здесь: Сохранить список для SharedPreferences.i хочу сох...

-1  Перекажите список UL на клик с jQuery?  ( Re order ul list on click with jquery ) 
Я хотел бы знать, как это сделать, может быть достигнуто У меня есть список UL, который я хотел бы повторно повторно портировать к уникальному заказу, нажав...

26  Конвертировать строку в ArrayList <Character> в Java  ( Convert string to arraylist character in java ) 
Как преобразовать строку без разделителя в <код> ArrayList<Character> . Моя строка похожа на это: <код> String str = "abcd..." Я знаю, что один из спо...

3  Какой самый эффективный способ найти длину самого длинного предмета в списке?  ( Whats the most efficient way to find the length of the longest item in a list ) 
Учитывая список разных слов длины, какой лучший способ найти максимальную длину любых слов? Например, следующее должно вернуть 6 <код> findMaxLen("a,set,o...

0  Как сделать бесконечно рекурсивный список в R: путать [и [[  ( How to make an infinitely recursive list in r confuse and ) 
Редактировать: Этот вопрос глупо, я путающую [и [((спасибо @josilber), но я не могу удалить его. Как можно сделать бесконечно рекурсивный список, l == l [1]...

0  Ошибка при использовании списков  ( Error when using lists ) 
У меня есть файл .rdata со списком внутри. Однако я получаю сообщение об ошибке при попытке отобразить список. <код> ls(data$Test$t0) Error in list2env(lis...

Связанный проблема

60  Получение ConcurrentModificationException брошенного при удалении элемента из списка java.util.List во время итерации? [Дубликат] 
18  Исключая один элемент из списка (по индексу) и взять все остальные 
3907  Доступ к индексу в петлях «Для '»? 
0  Backendless - Android: Удаление объекта из списка 
1  В Scala, какой правильный способ сортировки списка на композитный ключ 
0  Извлечение последних предметов из вложенных списков в Python [дубликат] 
0  C # Исключение, где емкость ниже, чем количество 
2  Синтаксис Java Generics и вызывая метод в типах интерфейсов, таких как список 
1  Добавление Matrix в Python - список 
2  Не удалось десериализировать объект JSON 
-1  Перекажите список UL на клик с jQuery? 
26  Конвертировать строку в ArrayList <Character> в Java 
3  Какой самый эффективный способ найти длину самого длинного предмета в списке? 
0  Как сделать бесконечно рекурсивный список в R: путать [и [[ 
0  Ошибка при использовании списков