<p>您可以使用<code>pandas</code>轻松完成此操作:</p>
<pre><code>import pandas as pd
from io import StringIO
# makes it easy to read globs of text like the data you posted above
data = StringIO('''oolong:8580.0:7201.25:8900.0
earl grey:10225.25:9025.0:9505.0
green:6700.1:5012.45:6011.0
mint:9285.15:8276.1:8705.0
jasmine:7901.25:4267.0:7056.5''')
df = pd.read_csv(data, sep = ':', header = None)
# returns a list of column names from the string you have above
df.columns = "tea_name:store1_Sales:store2_Sales:store3_Sales".split(':')
# add up the sales for stores 1, 2, and 3 for each type of tea to get total sales for a given tea
df['total_sales'] = df[['store1_Sales', 'store2_Sales', 'store3_Sales']].sum(axis = 1)
</code></pre>
<p>结果如下:</p>
^{pr2}$
<p>编辑:要从这个<code>pandas.DataFrame</code>对象获取<code>dict</code>,只需执行以下操作:</p>
<pre><code>>>> df.to_dict()
{'store1_Sales': {0: 8580.0, 1: 10225.25, 2: 6700.1000000000004, 3: 9285.1499999999996, 4: 7901.25}, 'tea_name': {0: 'oolong', 1: 'earl grey', 2: 'green', 3: 'mint', 4: 'jasmine'}, 'total_sales': {0: 24681.25, 1: 28755.25, 2: 17723.549999999999, 3: 26266.25, 4: 19224.75}, 'store3_Sales': {0: 8900.0, 1: 9505.0, 2: 6011.0, 3: 8705.0, 4: 7056.5}, 'store2_Sales': {0: 7201.25, 1: 9025.0, 2: 5012.4499999999998, 3: 8276.1000000000004, 4: 4267.0}}
</code></pre>
<p>Edit2:忽略<code>pandas</code>,您可以像这样在基本Python中完成您想要的</p>
<pre><code>teas_dict = {}
for row in teas:
row_list = row.split(':')
tea = row_list[0] # tea name is always the first element in a row
sales = row_list[1:] # remaining elements in row_list are sales data
teas_dict[tea] = sales
</code></pre>
<p>等效地,使用<code>dict</code>理解:</p>
<pre><code>>>> teas_dict = {row.split(':')[0]: row.split(':')[1:] for row in teas}
>>> teas_dict
{'earl grey': ['10225.25', '9025.0', '9505.0'], 'green': ['6700.1', '5012.45', '6011.0'], 'oolong': ['8580.0', '7201.25', '8900.0 '], 'mint': ['9285.15', '8276.1', '8705.0'], 'jasmine': ['7901.25', '4267.0', '7056.5']}
</code></pre>
<p>最后,要想在最后得到你的累计销售额:</p>
<pre><code>for tea in teas_dict:
total_sales = sum(map(float, teas_dict[tea]))
teas_dict[tea].append(total_sales)
</code></pre>
<p>结果:</p>
<pre><code>>>> teas_dict
{'earl grey': ['10225.25', '9025.0', '9505.0', 28755.25], 'green': ['6700.1', '5012.45', '6011.0', 17723.55], 'oolong': ['8580.0', '7201.25', '8900.0 ', 24681.25], 'mint': ['9285.15', '8276.1', '8705.0', 26266.25], 'jasmine': ['7901.25', '4267.0', '7056.5', 19224.75]}
</code></pre>