2011-04-29 71 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']] 

虽然列表内涵可能是一个更好的解决方案...

相关问题