文件a.txt
A B
C D
B A
E F
F E
D C
怎样的到
A B
E F
C D
读取文件,然后内容写入数组,再去重,perl数组去重的办法,一种利用哈希(hash),一种直接利用perl自带的模块List::MoreUtils内部的函数uniq
把字符放到数组中,然后用第一个字符跟后面的字符比较,重复的设置为0,第二个也是跟后面的比较重复的设置为0,以此类推。
file = open('a.txt')
val_list = file.readlines()
lists =[]
for string in val_list:
string = string.split(' ',2)
string[1] = string[1].replace('\n','')
lists.append(string[0:2]) #只取每个string的前两项,得到的lists即为所要的列表
arrs = lists
res = []
res.append(arrs[0])
flag = False;
for i in arrs:
flag = False;
print('i-->toTest',i)
for j in res:
print('j-->',j,'i-->',i,(i[0]==j[0] and i[1]==j[1])or(i[0]==j[1] and i[0]==j[1]))
if((i[0]==j[0] and i[1]==j[1])or(i[0]==j[1] and i[0]==j[1])):
flag = False;
break;
else:
flag = True;
if(flag):
print('i-->toAppend',i)
res.append(i);
print(res)
现在对了
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632