擅长:python、mysql、java
<p>关于你的错误。@杰兹回答完美地解释了这一点。在</p>
<p>显然,您对python还不熟悉,而且您已经在Java/C世界中生活了太久。JK。在</p>
<p>我为什么这么说?在</p>
<p>首先,您使用的变量命名约定(CamelCase)是so[Java/C#]-样式。你应该喜欢python上的snack_case。有关更多信息,请参阅<a href="https://www.python.org/dev/peps/pep-0008/" rel="nofollow noreferrer">Style Guide for Python Code</a>。在</p>
<p>在这类程序中使用python是正确的。因为python在处理此类问题时非常强大。但是,您并没有充分利用python的能力。这不应该占用这么多代码行。在</p>
<p>保持数据结构的一致性。在<code>jobsetJobMap</code>中,存储的是字符串或数组。您可能希望将它们全部保存为数组,即使它们只包含一个元素。异构数据导致更多的代码,更多的代码等于更多的bug。在</p>
<p>我会建议这样的。在</p>
<pre><code>#!/usr/bin/env python
lines = ['name1,1', 'name2,2', 'name1,3', 'name2,1', 'name3,1', 'name3,1']
jobs_map = {}
for line in lines:
[name, number] = line.split(',', 1)
if name in jobs_map:
jobs_map[name].append("%s,%s" % (name, number))
else:
jobs_map[name] = ["%s,%s" % (name, number)]
</code></pre>