Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算平均数_Python_List_Average - Fatal编程技术网

Python 计算平均数

Python 计算平均数,python,list,average,Python,List,Average,我一直在努力计算两个不同列表中的平均值。以下是我(作为python新手)一直在做的事情: 我自己想出了这个办法。它可能没用,但到目前为止,我可以打印两个我想用于计算的值,但我得到一个错误“ValueError:invalid literal for int(),以10为基数:‘somevalue’”。可能是''标志吗 干杯 你的意思是(int(x)+int(y))/2而不是(int(x)+int(y)/2吗?要计算实际平均值而不进行四舍五入,请使用float。您还需要一对额外的括号,否则它将是y

我一直在努力计算两个不同列表中的平均值。以下是我(作为python新手)一直在做的事情:

我自己想出了这个办法。它可能没用,但到目前为止,我可以打印两个我想用于计算的值,但我得到一个错误“ValueError:invalid literal for int(),以10为基数:‘somevalue’”。可能是
''
标志吗


干杯

你的意思是(int(x)+int(y))/2而不是(int(x)+int(y)/2吗?

要计算实际平均值而不进行四舍五入,请使用float。您还需要一对额外的括号,否则它将是y/2而不是(x+y/2)

至于那个错误,我不确定您在Listofvalues列表中使用了什么作为输入,下面的代码对我来说很好

Averagelist = []
Listofvalues1 = [1,2]
Listofvalues2 = [6,7]

for i, x in enumerate(Listofvalues1):
    for j, y in enumerate(Listofvalues2):
        if j == i:
            AVGvalue = ((float(x)+float(y))/2)
            Averagelist.append(AVGvalue)

print Averagelist

是否需要将数据存储为字符串?您将不得不一次将它们转换为数字(浮动)。这可以在不使用for循环的情况下使用列表理解来完成:

Listofvalues1 = ['1', '2', '3', '4']
Listofvalues2 = ['5', '6', '7', '8']
Averagelist = [(float(v1)+float(v2))/2 for (v1, v2) in zip(Listofvalues1, Listofvalues2)]
您可以尝试:

averages = [(float(e[0]) + float(e[1]))/2 for e in zip(Listofvalues1, Listofvalues2)]

显示
Listofvalues1
Listofvalues2
的内容。这会有什么不同呢?@user3223818真的吗?试试
2+2/4
(2+2)/4
自己看看。谢谢!这对我来说也很好。在这里发布后,我发现缺少一对括号。为什么float有效而int无效?代码比我之前发布的更复杂。实际上,我正在将2个文件中的值进行grepping并存储在一个列表中。这就是为什么它们已经是一个字符串。但谢谢你的洞察力@我明白了。那么你在做其他的内部for循环?否则,您可以在zip中尝试(x,y)(Listofvalues1,Listofvalues2):AVGvalue=((float(x)+float(y))/2)Averagelist.append(AVGvalue)
averages = [(float(e[0]) + float(e[1]))/2 for e in zip(Listofvalues1, Listofvalues2)]