You can't do it like that - the point of generics is mostly compile-time type-safety - but you can do it with reflection:
public Dictionary GenerateLists(List types)
{
Dictionary lists = new Dictionary();
foreach (Type type in types)
{
Type genericList = typeof(List<>).MakeGenericType(type);
lists.Add(type, Activator.CreateInstance(genericList));
}
return lists;
}