【问题标题】:Remove duplicates from Array string从数组字符串中删除重复项
【发布时间】:2019-09-09 18:10:37
【问题描述】:

问这个问题真的很幼稚,但真的想要一个最佳解决方案。 我有一个字符串数组

("a1,a2", "a3,a4", "a2,a1", "a5,a3")

我想展示

("a1,a2", "a3,a4", "a5,a3")

即第一个字符串在,它的重复被省略。

注意:必须保留元素的顺序

【问题讨论】:

标签: python


【解决方案1】:

这是一种方法。

例如:

data =  ("a1,a2","a3,a4","a2,a1","a5,a3") 
seen = set()
result = []
for i in data:
    if ",".join(sorted(i.split(","))) not in seen:
        result.append(i)
        seen.add(i) 
print(result)

输出:

['a1,a2', 'a3,a4', 'a5,a3']

【讨论】:

  • 不需要内部列表(set 内部的那个)
  • 我忘了在问题中添加“订单”。实际上需要订购。谢谢你的回答。将尝试答案。
  • @SharathNayak。更新了 sn-p
【解决方案2】:

您的数据位于名为“data”的变量中。

new_data = []
for example in data:
    example2 = str(example.split(",")[1] + "," + example.split(",")[0])
    if example in new_data or example2 in new_data:
        continue 
    else:
        new_data.append(example) 
print(new_data) 

如果您想将它们存储在原始列表中,请运行此脚本。

data.clear()
data = new_data.copy()

【讨论】:

    猜你喜欢
    • 2012-09-15
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多