我的代码我有一个字典,它有两个列表与zip()函数组合在一起self.dict = OrderedDict(zip(self.name,self.unit))
给出的参数是。。。var=class([[1,2,4,7],["y","y","t"],[11.1,12.3,6]],name=["num1","letter","num2"])
在一点上,应该有一个函数来检查每个括号中的项目是否只有数字。例如int=[1,2,3]
如果这是真的,程序会计算每个仅数字列表的平均值。并将值打印为num1 = 3.5 num2 = 9.8(作为一个表):
^{pr2}$
首先,我用这个做一个新的列表:for i in range(len(self.unit)):
if all(isinstance(item, (int,float)) for item in self.unit[i]):
self.new_l.append(self.unit[i])
之后,我(在另一个函数中)创建一个名为self.sum_l的新列表,在该列表中,将每个数字列表的平均值放入一个新列表中(在本例中,我得到两个平均值)。在self.sum_l.append([sum(self.new_1[i])/float(len(self.new_1[i]))])
之后,我编写了一个新字典,它使用self.name和{}列表self.nov_slovar = OrderedDict(zip(self.ime, self.seznam_vsot))
这很好,但我面临的问题是。。。当我创建一个新字典时,代码从列表name中取出的元素与self.sum_1列表中的列表一样多。但问题是,这需要前两个(在我的例子中)。这使得输出绝对不正确:num1 letter
4.6 9.8
所以我的问题是,我应该做些什么来防止这种情况的发生。我试过很多东西。即使是想计算字典中的值之和,但我得到了错误