问题是我的原始输入是:
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']]
任何解决方案?
答案 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']]
虽然列表理解可能是更好的解决方案......