我有一个超级简单的程序,可以解析得分和时间数据。
orig = https://games.crossfit.com/competitions/api/v1/competitions/open/2017/leaderboards
orig等于该API调用的输出我将其用作此示例的粘贴值。如果将其粘贴到原始值
,那将会过于庞大default_score = {1: '--',
2: '--',
3: '--',
4: '--',
5: '--',
6: '--'}
for i in range(50):
time = default_score
rank = default_score
print orig[0]['athletes'][i]['name']
for j in range(2):
time[j] = orig[0]['athletes'][i]['scores'][j]['scoredetails']['time']
rank[j]= orig[0]['athletes'][i]['scores'][j]['workoutrank']
print rank
print time
我无法弄清楚为什么我没有得到排名和时间的独特价值。
我的结果是
Mathew Fraser
{0: '20', 1: '15', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
{0: '20', 1: '15', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
Richard Froning Jr.
{0: '26', 1: '16', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
{0: '26', 1: '16', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
Noah Ohlsen
{0: '50', 1: '5', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
{0: '50', 1: '5', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
Marcelo Bruno
{0: '37', 1: '37', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
{0: '37', 1: '37', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
....
答案 0 :(得分:0)
我认为时间和等级都指向相同的default_score字典。您需要复制默认字典。请参阅下面的示例
{1: 5, 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
{1: 5, 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
结果
default_score = {1: '--',
2: '--',
3: '--',
4: '--',
5: '--',
6: '--'}
rank_copy = default_score.copy()
time_copy = default_score.copy()
rank_copy[1] = 5
print rank_copy
print time_copy
但是什么时候
{1: 5, 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
{1: '--', 2: '--', 3: '--', 4: '--', 5: '--', 6: '--'}
结果
{{1}}