【问题标题】:Search for duplicates inside an array [duplicate]在数组中搜索重复项[重复]
【发布时间】:2020-01-17 10:32:19
【问题描述】:

我正在尝试在数组中查找重复项。 我的数组看起来像:

['LM_Auto', 'LM_Auto', 'LM_Op', 'LM_Op'] 

还有几千对这样的对。

def clear_stemmed_LM(collection): 
i = 0
ele = i+1
for i in collection:
    for ele in collection:
        if i == ele:
            del collection[ele]
return collection 

错误表明列表索引必须是整数或切片而不是字符串。如何比较数组中的字符串?

[if x+1 for in x range] #Idea

或类似的东西?

【问题讨论】:

  • 您是否需要查找每个唯一出现的重复项的位置?还是您只想删除重复项?出现的顺序重要吗?
  • 要解决这个问题,你必须使用 dict 或 set
  • 使用set 删除重复项
  • 你的预期输出是什么?
  • 我只想删除重复项。顺序无关紧要,我只需要一个包含每个字符串一次的清除列表

标签: python arrays string string-comparison


【解决方案1】:

如果您只需要清除列表 collection 中的重复项,就像从代码中看到的那样,list(set(collection))

这是一个非常、非常普遍和基本的问题。我鼓励你先彻底谷​​歌!

【讨论】:

    【解决方案2】:

    for i in collection 遍历项目,所以在i 你会发现第一个字符串不是索引。请改用for i in range(len(collection))

    【讨论】:

    • 天哪,我经常遇到这种情况。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-01-19
    • 2013-01-25
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    相关资源
    最近更新 更多