input: Write a function to calculate the total cost of a shopping cart considering item prices, quantity, shipping cost, and any applicable taxes. The function should accept a list of items, each containing name, price, and quantity, as well as the shipping cost and tax rate as arguments. Return the calculated total cost.
  
  assert shopping_cart_cost([ 
   {"name": "widget", "price": 10, "quantity": 5 },
   {"name": "thingy", "price": 7, "quantity": 3 },
   {"name": "doodad", "price": 5, "quantity": 2 },
  ], 7.50, 0.095) == 104.8925
  assert shopping_cart_cost([ 
   {"name": "pen", "price": 2, "quantity": 10 },
   {"name": "notebook", "price": 5, "quantity": 2 },
  ], 5.00, 0.08) == 31.6
  assert shopping_cart_cost([ 
   {"name": "headphones", "price": 50, "quantity": 1 },
  ], 10.00, 0.10) == 70.5
  assert shopping_cart_cost([], 5.00, 0.06) == 5
output: def shopping_cart_cost(items, shipping_cost, tax_rate):
      subtotal = sum(item['price'] * item['quantity'] for item in items)
      total_cost = subtotal + shipping_cost
      total_cost += total_cost * tax_rate
      return total_cost