input: Write a function to calculate the total cost of a shopping cart, taking into account the item prices, quantity, shipping cost, and any applicable taxes. The function should return the total cost as a float.
  assert calculate_total_cost([{"name": "widget", "price": 10, "quantity": 5},{"name": "thingy", "price": 7, "quantity": 3},{"name": "doodad", "price": 5, "quantity": 2}],7.5,0.095)==121.045
  assert calculate_total_cost([{"name": "watch", "price": 25, "quantity": 2},{"name": "phone", "price": 350, "quantity": 1}],15.0,0.08)==417.0
  assert calculate_total_cost([{"name": "book", "price": 15, "quantity": 4}],5.0,0.05)==68.0
  assert calculate_total_cost([],5.0,0.05)==5.0
  assert calculate_total_cost([{"name": "pen", "price": 2, "quantity": 10}],7.5,0.1)=29.5
output: def calculate_total_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