在Python中,使用基于数组的
list类比使用Lisp样式的链表更为典型。但是在它们之间进行转换并不难:
def cons(seq): result = None for item in reversed(seq): result = (item, result) return resultdef iter_cons(seq): while seq is not None: car, cdr = seq yield car seq = cdr>>> cons([1, 2, 3, 4, 5, 6])(1, (2, (3, (4, (5, (6, None))))))>>> iter_cons(_)<generator object uncons at 0x00000000024D7090>>>> list(_)[1, 2, 3, 4, 5, 6]



