我想從列表1中選取一個隨機元素,將它從列表1中刪除,並將其添加到列表2中。
(define list1 '(1 2 3 4 5 6 7 8) (define list2 '(9 10)
現在我的問題是,我使用2個函數來更新列表。
list1將得到一個隨機元素,而list2將得到一個隨機元素,但它並不總是相同的元素。
我怎樣才能讓list2獲得元素添加,該list1被刪除,然後重複這些步驟,直到list1爲空?
非常感謝提前球拍:從列表中獲取2個不同函數中的相同隨機元素
#lang racket
(define list1 '(1 2 3 4 5 6 7 8))
(define list2 '(9 10))
(define (select_random list)
(car (shuffle list)))
(define (update_list list)
(remove (select_random list) list))
(define (addToList list1 target_list)
(append (list (select_random list1)) target_list))
您將索引傳遞給兩者?在刪除之前,您需要複製。這將有助於看到一些代碼。 – Sylwester
添加代碼。我將這個列表洗牌,然後從中取出第一個元素。問題是,每當我調用函數時,它都是一個隨機元素。 「刪除前複製」是什麼意思? – User91