【问题标题】:generate list of means from lists of floats python从浮点 python 列表生成均值列表
【发布时间】:2018-07-14 20:52:36
【问题描述】:

我正在尝试编写简单的代码,该代码将在两个列表中采用浮点数,找到每个列表中相同位置的两个数字之间的平均值,并使用更新的平均值生成一个新列表。例如,对于 list_1list_2

list_1: [1.0, 2.0, 3.0, 4.0, 5.0]
list_2: [6.0, 7.0, 8.0, 9.0, 10.0]
list_3: []

for i in list_1:
    for x in list_2:
        list_3.append((x+i)/2)
print (list_3)

找出两个列表中浮点数之间的平均值并创建一个新列表,这样:

list_3 = [3.5, 4.5, 5.5, 6.5, 7.5]

我尝试创建一个 for 循环,但(出于显而易见的原因)并没有按照我想要的方式进行迭代。 输出是:

[3.5, 4.0, 4.5, 5.0, 5.5, 4.0, 4.5, 5.0, 5.5, 6.0, 4.5, 5.0, 5.5, 6.0, 6.5, 5.0, 5.5, 6.0, 6.5, 7.0, 5.5, 6.0, 6.5, 7.0, 7.5]

任何帮助将不胜感激!

【问题讨论】:

    标签: python-3.x list mean


    【解决方案1】:

    您可以使用如下生成器表达式来做到这一点:

    代码:

    [sum(x)/len(x) for x in zip(list_1, list_2)]
    

    如何:

    函数zip() 允许同时通过多个列表轻松迭代。从那里可以将这些值输入到sum()len(),如图所示。

    测试代码:

    list_1 = [1.0, 2.0, 3.0, 4.0, 5.0]
    list_2 = [6.0, 7.0, 8.0, 9.0, 10.0]
    
    list_3 = [sum(x)/len(x) for x in zip(list_1, list_2)]
    print(list_3)
    

    结果:

    [3.5, 4.5, 5.5, 6.5, 7.5]
    

    【讨论】:

    • 太完美了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-10-09
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    相关资源
    最近更新 更多