<p>请尝试以下操作。。。你知道吗</p>
<pre><code>data = '''Warner, Bros, The Matrix, 5, 2.99
Sony, The Hobbit, 10, 3.99
Warner, Bros, Dark Knight, 1, 4.99''' # the 1 is missing from your example
# is it a typo? or the text data has this kind
# of errors that you should check?
# you can read your data with a csv.reader
# for this example I'll just split the lines
yourdata = dict() # or use the defaultdict approach
lines = data.split('\n')
for l in lines:
fields = l.split(',')
price = float(fields.pop(-1))
quantity = int(fields.pop(-1))
title = fields.pop(-1).strip()
value = {'title': title, 'quantity': quantity, 'price': price}
key = ' '.join(f.strip() for f in fields)
if key not in yourdata:
yourdata[key] = [value]
else:
yourdata[key].append(value)
print(yourdata)
</code></pre>
<p>或者为什么不用两部分的钥匙。。。你知道吗</p>
<pre><code> # ...
key = (' '.join(f.strip() for f in fields), title)
value = {'quantity': quantity, 'price': price}
yourdata[key] = value
# ...
</code></pre>