【发布时间】:2019-09-09 18:10:37
【问题描述】:
问这个问题真的很幼稚,但真的想要一个最佳解决方案。 我有一个字符串数组
("a1,a2", "a3,a4", "a2,a1", "a5,a3")
我想展示
("a1,a2", "a3,a4", "a5,a3")
即第一个字符串在,它的重复被省略。
注意:必须保留元素的顺序
【问题讨论】:
-
这也是一个元组,而不是一个数组。
标签: python
问这个问题真的很幼稚,但真的想要一个最佳解决方案。 我有一个字符串数组
("a1,a2", "a3,a4", "a2,a1", "a5,a3")
我想展示
("a1,a2", "a3,a4", "a5,a3")
即第一个字符串在,它的重复被省略。
注意:必须保留元素的顺序
【问题讨论】:
标签: python
这是一种方法。
例如:
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 内部的那个)
您的数据位于名为“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()
【讨论】: