Python,最后一个元素剪切

时间:2011-04-29 19:34:28

标签: 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']]

任何解决方案?

5 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:5)

试试这个:

for row in x:
    del row[-1]

答案 2 :(得分:2)

尝试:

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

输出:

  

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

答案 3 :(得分:2)

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

for y in x:
    y.pop()

print x

答案 4 :(得分:1)

您还可以使用map功能来完成此任务:

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

虽然列表理解可能是更好的解决方案......