2011-04-29 92 views
2

那麼問題是,我原來的輸入爲:Python中,最後一個元素切

x=[['1', '7', 'gg'], ['1.5', '8', 'as']...] 

我只需要砍最後一個元素,每排。

我嘗試最後一個元素切入矩陣是:

hl=x[:,:-1] 

但這不是工作,所以我嘗試了這種方式:

kl=array(x) 
hl=x[:,:-1] 

現在,我得到:

[['1' '7'] 
['1.5' '8']] 

而不是: [['1','7'] ['1.5','8']]

任何解決方案?

回答

9
>>> x=[['1', '7', 'gg'], ['1.5', '8', 'as']] 
>>> [s[:-1] for s in x] 
[['1', '7'], ['1.5', '8']] 
5

嘗試這種情況:

for row in x: 
    del row[-1] 
2

嘗試:

h1 = [el[:-1] for el in x] 
print h1 

輸出:

[[ '1', '7'],[ '1.5', '8']]

2
x = [['1', '7', 'gg'], ['1.5', '8', 'as']] 

for y in x: 
    y.pop() 

print x 
1

您也可以使用map功能來實現:

>>> list(map(lambda i: i[:-1], x)) 
[['1', '7'], ['1.5', '8']] 

雖然列表內涵可能是一個更好的解決方案...

相關問題