擅长:python、mysql、java
<p>我认为,<a href="https://docs.python.org/2/library/itertools.html#itertools.cycle" rel="nofollow">^{<cd1>}</a>+<a href="https://docs.python.org/2/library/itertools.html#itertools.izip" rel="nofollow">^{<cd2>}</a>在这里可能有用:</p>
<pre><code>from collections import defaultdict
from itertools import cycle, izip, count, repeat
result = defaultdict(list)
with open(path) as fp:
num = int(next(fp))
idx = 0
# create infinite loop of repeating keys to match them with the values:
keys = cycle([next(fp).strip() for _ in range(num)])
for k, v, c in izip(keys, fp, count()):
result[k].append(np.float(v))
if (c + 1) % num: # need to populate with nans
result[k].extend(repeat(np.nan, num - (c + 1) % num))
</code></pre>