2016-10-01 178 views

回答

2

如果你是一定int永遠是最後一個,切片是,讓你從各個子列表subxsub[:-1]剪掉的最後一個元素的選項([:-1]意味着抓住除最後一個元素之外的所有元素):

out = [sub[:-1] for sub in x] # or sub[:2] if sub is always 3 elements long 
print(out) 
[[0.1, 0.2], [0.4, 0.05], [0.3, 0.3]] 

或者,您可以通過迭代throu GH的x的元素,通過每個子元素迭代和評價如果是float的一個實例,即:

out = [[i for i in sub if isinstance(i, float)] for sub in x] 

此過濾掉任何元素列表sub其是ISN子列表中x是類型爲float的實例。此操作irregardless定位的,所以你可以使用它,如果int的位置並不總是在最後:

print(out) 
[[0.1, 0.2], [0.4, 0.05], [0.3, 0.3]] 

最後,對於就地方法,for循環和pop ING是一個可行的選項:

for s in x: _ = s.pop() 

現在x突變爲:

print(x) 
[[0.1, 0.2], [0.4, 0.05], [0.3, 0.3]] 
+0

如果有人認爲這個答案沒有用,我會更願意編輯它並修復它。 :-) –

相關問題