<p>我解决它如下。马吕斯你的回答是一种暗示。在</p>
<pre><code>for p in csvdr:
#p["Hobby"] = p["Hobby"].split(',') not working, TypeError: cannot concatenate 'str' and 'list' objects
l=p["Hobby"].split(',') #this will be list
p["Hobby"]=l #let key show on value being list
print p
Person(**p)
</code></pre>
<p>我们可以确保:</p>
^{pr2}$
<p>结果:</p>
<pre><code>{'Birth Year': '1990', 'Hobby': ['tenis', 'piano'], 'Surname': 'Smith', 'Firstname': 'John'}
{'Birth Year': '1988', 'Hobby': ['surfing', 'art'], 'Surname': 'Josh', 'Firstname': 'Andrew'}
Birth Year: 1990, Hobby: ['tenis', 'piano']Surname: Smith, Firstname: John,
['tenis', 'piano']
<type 'list'>
Birth Year: 1988, Hobby: ['surfing', 'art']Surname: Josh, Firstname: Andrew,
['surfing', 'art']
<type 'list'>
[Finished in 0.1s]
</code></pre>
<p>顺便说一下,<strong>str</strong>需要修改检查类型和适当的治疗清单:</p>
<pre><code>def __str__(self):
s=""
for k,v in self.__dict__.items():
if type(v) is not list:
s+=k+": "+v+", "
else:
s+=k+": "+str(v)
return s
</code></pre>
<p><strong>我是python的新手,如果有任何关于更好的代码实践的建议,我们将不胜感激。</strong></p>