2017-11-04 6 views
-1

Wie kann ich die Elemente in der Liste der Liste ändern?Schläger, ändern Sie die Elemente in der Liste der Liste

Edit:

ich teilweise das Problem gelöst

(define a (list 
      (list 1 2 3) 
      (list 4 5 6) 
      (list 7 8 9) 
      ) 
) 
(define (list-change alist row column value) 
    (cond 
    [(= row 0) (list-set (first alist) column value)] 
    [(= row 1) (list-set (second alist) column value)] 
    [(= row 2) (list-set (third alist) column value)] 
) 
) 
(list-change a 0 0 100) 

Diese Funktion Rückkehr

‚(100 2 3)

Aber ich möchte, dass die zurück ganze Liste

+1

Es hängt von der Variation des Eingangs ab. Wenn du weißt, dass es 3x3 ist, tust du genauso, wie du es in * to * getan hast, aber ich denke, da ist mehr als das? Bitte bearbeiten Sie Ihre Frage mit weiteren Informationen zu einem bestimmten Problem mit der Variation der Eingaben und der erwarteten Ausgabe. – Sylwester

+0

Wenn Sie dies viel tun müssen Sie wahrscheinlich Vektoren anstatt Listen. – uselpa

Antwort

0

Sicher, hier gehen Sie:

;; given a list, return the desired output list 
;; list-of-list-of-numbers -> list-of-list-of-numbers 
(define (change lon) 
    (list (list 1 2 3) 
     (list 4 5 6) 
     (list 7 8 9))) 

;; let's check that it works: 
(check-expect 
(change (list (list 1 1 1) 
       (list 1 1 1) 
       (list 1 1 1))) 
(list (list 1 2 3) 
     (list 4 5 6) 
     (list 7 8 9))) 

Ich bin nur halb Sie Trolling; "Einstellung" und "Rückgabe einer neuen Liste" sind in dieser Einstellung wahrscheinlich Synonyme.

Verwandte Themen