从列表列表中减去最后一个元素

时间:2013-08-19 22:20:22

标签: python

我需要减去最后一个元素并构建一个像[1,1,1,...]这样的向量。我有这个功能:

def vectores(lista):
    r=[]
    for e in lista:
        r.append(e[2])
        return r

其中

lista = [['pintor', 'NCMS000', 1], ['ser', 'VSIS3S0', 1], ['muralista', 'AQ0CS0', 1], ['diego_rivera', 'NP00000', 1], ['frida_kahlo', 'NP00000', 1], ['caso', 'NCMS000', 1]]

但该函数正在返回[1];我能做什么?

1 个答案:

答案 0 :(得分:8)

你在循环的第一次迭代中返回。将return语句移到 for - 循环:

def vectores(lista):
    r=[]
    for e in lista:
        r.append(e[2])
    return r  # here

或者只使用列表理解:

def vectores(lista):
    return [e[2] for e in lista]