擅长:python、mysql、java
<p>选择适当的数据结构,例如<code>collections.defaultdict</code>,以<code>list</code>作为工厂:</p>
<pre><code>In [1233]: out = collections.defaultdict(list)
In [1234]: lst = ['2017-07-17', '2017-07-27', '2017-07-17;14', '2017-07-17;5', '2017-07-19;11', '2017-07-19;13', '2017-07-23;4', '2017-07-27;-1']
In [1235]: for i in lst:
...: m, _, n = i.partition(';')
...: if n:
...: out[m].append(n)
...:
In [1236]: out
Out[1236]:
defaultdict(list,
{'2017-07-17': ['14', '5'],
'2017-07-19': ['11', '13'],
'2017-07-23': ['4'],
'2017-07-27': ['-1']})
In [1237]: out['2017-07-17']
Out[1237]: ['14', '5']
In [1238]: out['2017-07-23']
Out[1238]: ['4']
</code></pre>
<p>在这里,我们遍历列表,对<code>;</code>上的字符串进行分区,并使用日期部分作为<code>out</code>字典的键,其值是附加的右侧子字符串。你知道吗</p>