I have a list formatted like this: (list foo '(("q" "2" "3" "4")("w" "2" "3" "4")("e" "2" "3" "4")("r" "2" "3" "4"))) I want to replace one sub list based on the first item in the list. For example I have a new list ("z" "2" "3" "4") and I want to replace ("e" "2" "3" "4") with the new data in the same location to end up with this: (("q" "2" "3" "4")("w" "2" "3" "4")("z" "2" "3" "4")("r" "2" "3" "4")) Can someone tell me the logic to do this? I'm thinking it will require the use of ASSOC and CONS but there is probably a lot more to it than that. Also I'd prefer basic instructions over raw code so I can try to figure it all out. Thanks! kemp