Using a string variable to be the replacement for the name of another variable (list)

So technically I have a List which contains strings in it of names of other lists because you can’t have a list list. The script then sets a string variable with the string that was in the list. I then want to use the string variable which has the name of one of the sub lists to then be used for referencing the sub list instead of using the sub lists name. Quite easy to understand, here’s the script below. So I want tradeShop to be used like tradeShop.Add(blah blah blah) but I can’t do that cause tradeShop is a string and not a list but it has the name of the list I want to use.

            for (int I = 0; I < traders.Count; I++)
            {
                if (traders *== gameObject.name)*

{
tradeShop = traders*;*
}
}

Why not use

Dictionary<string, List<string>>

Here you can find more about the dictionary.