list - 从列表中删除重复项(在 vim 中)

标签 list vim double duplicates

这是我的 list :

['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()

顺便说一句,如果

  1. 所有列表项都是字符串;
  2. 不可能有空字符串;
  3. 您不关心列表项的顺序

那么您可能应该使用字典:对于大量字符串,搜索重复项会更快(并且实际上不需要)。

关于list - 从列表中删除重复项(在 vim 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6630860/

相关文章:

c++ - 仅在线程休眠时评估为真

java - 比较两个列表并在 Java 中输出缺失和多余的元素

类中函数中的Python列表

vim - 未找到映射

haskell - vim:保存时调用函数

latex - Vim 根据文件内容自动执行命令

python - 将 Python 列表转换为 networkx 图

c++ - 重载 operator-、operator< 和 operator >

double - Kotlin 中使用数据类型 Double 的范围

c - 在 int 和 double 之间进行运算