Convertendo um arquivo csv em uma lista de tuplas com python

Devo tomar um csv com 4 colunas: marca, preço, peso e tipo.

Os tipos são laranja, maçã, pêra, ameixa.

Parâmetros: Eu preciso selecionar o maior peso possível, mas selecionando 1 laranja, 2 pêras, 3 maçãs e 1 ameixa por não exceder o orçamento de US $ 20. Eu não posso repetir marcas da mesma fruta (como selecionar a mesma marca de maçã 3 vezes, etc).

Eu posso abrir e ler o arquivo csv através do Python, mas não sei como criar um dicionário ou lista de tuplas do arquivo csv?

Para mais clareza, aqui está uma ideia dos dados.

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

Aqui está tudo que tenho agora:

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

questionAnswers(2)

yourAnswerToTheQuestion