2013-08-19 136 views
0

我需要減去最後一個元素並構建一個向量,如[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];我能做什麼?

+0

具有與其中return語句的範圍做。在你的情況下,返回是在for循環中,所以在第一次迭代時它返回項目讀取 – smac89

回答

8

您正在返回循環的第一次迭代。移動return語句for -loop:

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] 
相關問題