下面的列表中,包含一些内容相同的元素。你知道吗
例如,“A120 v.s.B127”和“B127 v.s.A120”自然具有相同的内容,因此在本例中只有“B127 v.s.A120”被视为重复。你知道吗
我想找出哪些是重复的:
a_list = [
"A120 v.s. B127",
"A125 v.s. B105",
"A122 v.s. B141",
"A150 v.s. B100",
"A147 v.s. B141",
"B127 v.s. A120",
"B100 v.s. A150"
]
for a in a_list:
flip = a.split(' v.s. ')[1] + " v.s. " + a.split(' v.s. ')[0]
if flip in a_list:
print a + " is a duplicate."
但是,代码会标记更多(也是第一次出现)重复项:
A120 v.s. B127 is a duplicate.
A150 v.s. B100 is a duplicate.
B127 v.s. A120 is a duplicate.
B100 v.s. A150 is a duplicate.
怎样才能只输出实际的副本?你知道吗
B127 v.s. A120 is a duplicate of A120 v.s. B127.
B100 v.s. A150 is a duplicate of A150 v.s. B100
谢谢你。你知道吗
具有哈希dict键的简短解决方案:
输出:
您可以使用
set
进行快速查找,并使用排序的元组来确定某个内容是否重复,而不考虑顺序:输出:
输出
相关问题 更多 >
编程相关推荐