将两个变量作为值添加到已创建的字典中



我想将两个变量append到已经创建的字典的值中。确切地说,这两个变量(xey)需要在每一场不同的冰球比赛中加起来,但问题是它们在最后都是单独加起来的,并不是在每场比赛中都有。

之前创建的字典工作正常,这就是它。它由曲棍球比赛的名称和各种信息组成。

my_dict= {} 
for row in mydb.fetchall():
if row[0] not in my_dict:
#I create dictionary
my_dict[row[0]] = list(row[1:])
my_dict[row[0]][4] = [my_dict[row[0]][4]] # transform int to list of int
else:
my_dict[row[0]][4].append(row[5])

输出如下:

{'Dallas-Minnesota': ['NHL', 8.1, 9, '15:00', [0, 1, 1, 5]],
'Vegas-New York': ['NHL', 8.1, 9, '18:00', [1, 2, 3, 4]],

现在我尝试像这样添加两个变量xy:

for key, value in my_dict.items():
#two variables
x= sum(value[4]) / len(value[4])
y = (x *100) / 2
#add values to dictionary
my_dict[row[0]].append([x], [y])

输出如下。正如您所看到的,新值被分开并添加到末尾:

{'Dallas-Minnesota': ['NHL', 8.1, 9, '15:00', [0, 1, 1, 5]],
'Vegas-New York': ['NHL', 8.1, 9, '18:00', [1, 2, 3, 4]],
[1.75, 87.5], [2.5, 125.0]

我想要这样的东西:

{'Dallas-Minnesota': ['NHL', 8.1, 9, '15:00', [0, 1, 1, 5], [1.75], [87.5]],
'Vegas-New York': ['NHL', 8.1, 9, '18:00', [1, 2, 3, 4], [2.5], [125.0]],

因为"row"变量,我相信第二个"for"。语句在第一个语句内。

在这种情况下,您应该独立实现它,并使用"键"one_answers"value".

应该是这样的:

for key, value in my_dict.items():
#two variables
x= sum(value[4]) / len(value[4])
y = (x *100) / 2
#add values to dictionary
my_dict[key].append([x])
my_dict[key].append([y])

由于循环中有字典键,因此可以使用它来使用.extend()方法将x和y的值添加到列表值中。

for key, value in my_dict.items():
#two variables
x= sum(value[4]) / len(value[4])
y = (x *100) / 2
#add values to dictionary
my_dict[key].extend([[x], [y]])

从字典项中更新循环中的值

for key, value in my_dict.items():
#two variables
x= sum(value[4]) / len(value[4])
y = (x *100) / 2
#add values to dictionary
value.extend([[x], [y]])

相关内容

  • 没有找到相关文章

最新更新