<p>首先,一般不赞成用大写字母来表示除类以外的任何事物。继续。。。你知道吗</p>
<pre><code>medalTracker = [medalTracker.append(i) for i in allCountries]
</code></pre>
<p>问题源于这一行,它返回一个None的列表</p>
<pre><code><class 'list'>: [None, None, None, None, None, None, None, None]
</code></pre>
<p>还有一些其他问题,即尝试将一些数据附加到字符串中。请看一下这个代码,我想它会给你的结果,你正在寻找</p>
<pre><code>def generate(results):
"""
return list of strings
based on data in results, a list of strings
"""
# [country_code, gold_count, silver_count, bronze_count ]
allCountries = []
for i in results:
x = i.split()
for country in x:
allCountries.append(country)
allCountries = list(set(allCountries))
medalTracker = []
# medalTracker = list(medalTracker)
for i in allCountries:
goldCount, silverCount, bronzeCount = 0, 0, 0
index = allCountries.index(i)
for rank in results:
rank = rank.split(' ')
if rank[0] == i:
goldCount += 1
elif rank[1] == i:
silverCount += 1
elif rank[2] == i:
bronzeCount += 1
medalTracker.append({i: {'goldCount': goldCount, 'silverCount': silverCount, 'bronzeCount': bronzeCount}})
print(generate(["ITA JPN AUS", "KOR TPE UKR", "KOR KOR GBR", "KOR CHN TPE"]))
</code></pre>