How can I instanciate multiple objects with List?

I have 3 different lists of objects and I want to instantiate those objects randomly in about 100 amounts.
It will only create 3 objects each (total of 3 objects) and not 100 of them.
What am I doing wrong?

public class GenerateAsteroidField : MonoBehaviour
{
    public Transform asteroidPrefab1, asteroidPrefab2;
    public int fieldRadius = 100;
    public int asteroidCount = 100;
    public List<Transform> asteroidList = new List<Transform>();
 

    // Start is called before the first frame update
    
    void Start()
    {
        //asteroidList = new List<Transform>();
        // asteroidList.Add(asteroidPrefab1);
        // asteroidList.Add(asteroidPrefab2);
            //for (int loop = 0; loop < asteroidCount; loop++)
        for(int i = 0; i < asteroidList.Count; i++)
        {
            //Transform temp = Instantiate(asteroidPrefab1, Random.insideUnitSphere * fieldRadius, Random.rotation);
            Transform temp =  Instantiate(asteroidList_, Random.insideUnitSphere * fieldRadius, Random.rotation);_

temp.localScale = temp.localScale * Random.Range(0.5f, 5);
temp.transform.parent = gameObject.transform; //asteroid prefabs created in child of field center

}
}

You only show 1 list in your code, and judging by the naming I’m going to assume you want to randomly create 100 asteroid game objects and assign them to asteroidList ? This should work for you

I create a new list for the prefabs so you can add as many as you want rather than prefab1,prefab2…etc…

I also assigned the parent during instantiate rather than a separate line of code

All created assets are then added to asteroidList, when you run this you should have 100 random asteroids

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GenerateAsteroidField : MonoBehaviour
{
    //Assign your prefabs to this list in the inspector
    public List<Transform> asteroidPrefabs = new List<Transform>();

    public int fieldRadius = 100;
    public int asteroidCount = 100;
    public List<Transform> asteroidList = new List<Transform>();

    void Start()
    {
        for (int i = 0; i < asteroidCount; i++)
        {
            Transform temp = Instantiate(asteroidPrefabs[Random.Range(0, asteroidPrefabs.Count)], Random.insideUnitSphere * fieldRadius, Random.rotation, gameObject.transform);
            temp.localScale = temp.localScale * Random.Range(0.5f, 5);
            asteroidList.Add(temp);
        }
    }
}

You would normally instantiate prefabs, then add them in a List to keep a reference if you need to do something later with those asteroids.

loop until reaches 100:
    myList.Add(GameObject.Instantiate(prefab));
endloop;