-1

我有一个定义来分隔特定属性的一些坐标。对于这种分离,我使用 1 个定义,在定义中我有 9 个列表(不同的标准)。现在对于输出,我只想要我定义的列表。否则我不能用它来绘图。

def sorteerCord(cord):
    tweestijging=[]
    stijginggelijk=[]
    stijgingdaling=[]
    tweedaling=[]
    dalinggelijk=[]
    dalingstijging=[]
    tweegelijk=[]
    gelijkstijging=[]
    gelijkdaling=[]

    y=0
    while y<len(cord):
        lijst=cord[y]
        if (lijst[1]-lijst[0])>0.5:
            if (lijst[2]-lijst[1])>0.5:
                tweestijging.append(y)
            if (lijst[2]-lijst[1])<=0.5 and (lijst[2]-lijst[1])>=-0.5:
                stijginggelijk.append(y)
            if (lijst[2]-lijst[1])<-0.5:
                stijgingdaling.append(y)

        if (lijst[1]-lijst[0])<-0.5:
            if (lijst[2]-lijst[1])>0.5:
                dalingstijging.append(y)
            if (lijst[2]-lijst[1])<=0.5 and (lijst[2]-lijst[1])>=-0.5:
                dalinggelijk.append(y)
            if (lijst[2]-lijst[1])<-0.5:
                tweedaling.append(y)

        if (lijst[1]-lijst[0])<=0.5 and (lijst[1]-lijst[0])>=-0.5:
            if (lijst[2]-lijst[1])>0.5:
                gelijkstijging.append(y)
            if (lijst[2]-lijst[1])<=0.5 and (lijst[2]-lijst[1])>=-0.5:
                tweegelijk.append(y)
            if (lijst[2]-lijst[1])<-0.5:
                gelijkdaling.append(y)

        y=y+1       
    print raw_input()
    return raw_input()

他们是一种在我的 def 中定义输出文件的方式吗(def sorteerdCord(cord,outpu=tweestijging)

4

1 回答 1

3

我猜在最后两行中,您希望用户输入要使用的输出列表,但不太确定。您可以使用字典将输入字符串映射到变量。

就像是:

def sorteerCord(cord, output):
    # all of your separation code
    outputmap = { 'tweestijging': tweestijging,
                  'gelijkstijging' : gelijkstijging,
                   # and more of those
                 }
    return outputmap[ output ]

然后调用:

sorteerCord(cord, 'gelijkstijging')

您当然也可以选择返回所有列表或将它们保存在字典中:

output = { 'tweestijging': [],
       'gelijkstijging': [],
        # etc
        }

 # code to manipulate lists goes here

return output

然后使用相同的技术选择一个。

于 2013-03-12T14:05:02.277 回答