需要帮助理解脚本语法

时间:2015-05-11 15:59:20

标签: python list dictionary

我是Python的新手,在阅读脚本时,我遇到了以下语法:

def approximate_random_effects(data, labels, group):

    correlation_per_donor = {}
    for donor_id in set(data[group]):
        correlation_per_donor[donor_id], _, _, _, _ = \
          linregress(
            list(data[labels[0]][data[group] == donor_id]),
            list(data[labels[1]][data[group] == donor_id]))
    average_slope = np.array(correlation_per_donor.values()).mean()
    t, p_val = ttest_1samp(correlation_per_donor.values(), 0)

为什么correlation_per_donor[donor_id]的LHS有_,,为什么RHS有这么多()并且其中嵌套了[]?我不明白它,甚至通过Codeacademy的list / dict教程运行它没有帮助。

需要建议,谢谢!

编辑:我对剧本的理解是否正确?附在下面:

for each donor ID,

for-loop在驻留在DATA中的组中选择donor_id:

LHS有5个变量,但只使donor_id成为字典“correlation_per_donor”的一部分

RHS在2个列表上linregress,其中(DATA中的标签[第一项],DATA == donor_id中的组)和(DATA中的标签[第二项],DATA == donor_id中的组)

我不明白为什么需要== donor_id

1 个答案:

答案 0 :(得分:1)

_只是一个变量名称,在这种情况下用于说"我忽略了这些数据"。

右侧有[]个,因为它是列表和词典的嵌套数据结构。