刪除所有數字,我有以下列表:[['F', 'G', 'C'], ['S', 3, 7], ['C', 3, 'D']]
(由3子表)Python中,從子列表
但我想有:[['F', 'G', 'C'], ['S'], ['C', 'D']]
我怎麼會去這樣做呢?
刪除所有數字,我有以下列表:[['F', 'G', 'C'], ['S', 3, 7], ['C', 3, 'D']]
(由3子表)Python中,從子列表
但我想有:[['F', 'G', 'C'], ['S'], ['C', 'D']]
我怎麼會去這樣做呢?
使用列表理解:
my_list = [['F', 'G', 'C'], ['S', 3, 7], ['C', 3, 'D']]
no_numbers = [[item for item in sub_list if not isinstance(item, int)]
for sub_list in my_list]
print(no_numbers)
此打印:
[['F', 'G', 'C'], ['S'], ['C', 'D']]
或'if isinstance(item,basestring)' –
@AlexHall是正確的,我只是想跟隨問題的邏輯,認爲'not isinstance int'會更好地去除數字(整數,我假設,在這種情況下)。 – Bahrom
我同意,只是指出OP的不同想法。 –
mylist = [['F', 'G', 'C'], ['S', 3, 7], ['C', 3, 'D']]
newlist = [[x for x in mysublist if not isinstance(x, int)] for mysublist in mylist]
print newlist
有多種方式來達致這。上面的例子是使用列表理解。
如果我有子列表呢?像在問題@sudhishkr –
看起來像問題被修改。 @abcla - 在給出'-1'之前檢查一下:) – sudhishkr
這是Python 3中的代碼:
mylist = [['F','G','C'], ['S',3,7], ['C',3,'D']]
rslist = [[y for y in x if not isinstance(y, int)] for x in mylist ]
print (rslist)
@Bahrom我如何格式化列表? –
您的清單中是否有3個子清單或3個字符串? – Bahrom
有3個子列表 –