這是我的名單:刪除重複從列表(VIM)
['02', '03', '03', '16', '17', '17', '28', '29', '29']
我想知道我可以從列表中刪除重複項。
難道是還可以當我將項目添加到列表中,以檢查 如果該項目已經在列表中(避免重複?)
這是我的名單:刪除重複從列表(VIM)
['02', '03', '03', '16', '17', '17', '28', '29', '29']
我想知道我可以從列表中刪除重複項。
難道是還可以當我將項目添加到列表中,以檢查 如果該項目已經在列表中(避免重複?)
嘗試
let list=['02', '03', '03', '16', '17', '17', '28', '29', '29']
let unduplist=filter(copy(list), 'index(list, v:val, v:key+1)==-1')
。有關第二個問題,請參閱:h index()
。
順便說一句,如果
那麼你或許應該用字典來代替:對於大量的字符串搜索重複的速度更快(真的不需要)。
非常感謝。 :) – Reman
您也可以在列表轉換鍵在Dictionary:
let list=['02', '03', '03', '16', '17', '17', '28', '29', '29']
let dict = {}
for l in list
let dict[l] = ''
endfor
let uniqueList = keys(dict)
這適用於已排序和未排序的列表。
你的問題不清楚。你的意思是刪除VIM中的重複行嗎? – Rahul
對不起,vimscript – Reman