Convertir un archivo csv en una lista de tuplas con python

Debo tomar un csv con 4 columnas: marca, precio, peso y tipo.

Los tipos son naranja, manzana, pera, ciruela.

Parámetros: Necesito seleccionar el peso más posible, pero seleccionando 1 naranja, 2 peras, 3 manzanas y 1 ciruela no excediendo el presupuesto de $ 20. No puedo repetir marcas de la misma fruta (como seleccionar la misma marca de manzana 3 veces, etc.).

Puedo abrir y leer el archivo csv a través de Python, pero no estoy seguro de cómo crear un diccionario o una lista de tuplas del archivo csv.

Para mayor claridad, he aquí una idea de los datos.

Brand, Price, Weight, Type
brand1, 6.05, 3.2, orange
brand2, 8.05, 5.2, orange
brand3, 6.54, 4.2, orange
brand1, 6.05, 3.2, pear
brand2, 7.05, 3.6, pear
brand3, 7.45, 3.9, pear
brand1, 5.45, 2.7, apple
brand2, 6.05, 3.2, apple
brand3, 6.43, 3.5, apple
brand4, 7.05, 3.9, apple
brand1, 8.05, 4.2, plum
brand2, 3.05, 2.2, plum

Aquí está todo lo que tengo ahora:

import csv
test_file = 'testallpos.csv'
csv_file = csv.DictReader(open(test_file, 'rb'), ["brand"], ["price"], ["weight"], ["type"])

Respuestas a la pregunta(2)

Su respuesta a la pregunta