这是我的名单:删除重复从列表(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