这种输出不改。{A, B=C, B=D}正确呢。
问题一若简单的话也解决一下呗,哈哈哈 和问题二一并处理 省事儿 Amgalang 发表于 2022-8-9 17:24
这种输出不改。{A, B=C, B=D}正确呢。
我刚找了一下,好像没有你说的元素重复的情况
最像的是这种{A, B=C, C=B},这个要不要改呢? 鱼cpython学习者 发表于 2022-8-9 17:30
我刚找了一下,好像没有你说的元素重复的情况
最像的是这种{A, B=C, C=B},这个要不要改呢?
那太好啦,我就是怀疑有元素重复,{A, B=C, C=B}这种的不需要修改。
那么只差一个问题一了,哈哈哈。 人造人 发表于 2022-8-9 17:09
这种的又如何处理呢?
您好,另一位鱼友说,没有问题二所述的情况,所以就不麻烦这个题了 哈哈哈 再次感谢,目前就差问题一了 Amgalang 发表于 2022-8-9 17:32
那太好啦,我就是怀疑有元素重复,{A, B=C, C=B}这种的不需要修改。
那么只差一个问题一了,哈哈哈。
import re
with open('C.txt', 'r', encoding='utf-8') as f:
data = f.readlines()
new_data = []
for item in data:
item = item.strip()
sorted_item = sorted(re.sub(r'[{|}]', '', item).split(','))
new_data.append(','.join(sorted_item))
for index, item in enumerate(new_data):
if ',' in item and (item in new_data or item in new_data):
data = '{}\n'
new_data = ''
with open('B.txt', 'w', encoding='utf-8') as f:
f.writelines(data)
鱼cpython学习者 发表于 2022-8-9 17:36
完美解决,真心感谢,我发您私信了,您看一下。 人造人 发表于 2022-8-9 17:09
这种的又如何处理呢?
再次感谢您,问题已解决咯,学到了好多。我发您私信了,您看一下。 人造人 发表于 2022-8-9 17:09
这种的又如何处理呢?
您好,问题解决了,我学到了好多处理办法,再次感谢,我给您添加好友申请了,您看一下。 Amgalang 发表于 2022-8-9 17:58
您好,问题解决了,我学到了好多处理办法,再次感谢,我给您添加好友申请了,您看一下。
同意了
^_^ 鱼cpython学习者 发表于 2022-8-9 11:54
我不太确定代码是不是百分百正确,我人工查看了几个,应该是对的
我把去重后的文本放到了新的文件叫B.txt
...
晚上好,
我刚发现最后一个问题,就是如我第一个帖子内容,但是这次只是标注待删除的重复集合,而不直接删除。这样能办到吗?
例如以下两个集合:
{A,B,C,A}
{A,B,C,A}
代码跑完后:
待删项-{A,B,C,A}
待删项-{A,B,C,A}
这个样子的。我现在上传了此次需要用到的C2.txt。
这个C2.txt里包含了一些{}空集合,这样的不用操作。就操作有内容的集合。然后按照原来的排序保存下来。不知道能不能呢,麻烦了。 鱼cpython学习者 发表于 2022-8-9 11:54
我不太确定代码是不是百分百正确,我人工查看了几个,应该是对的
我把去重后的文本放到了新的文件叫B.txt
...
晚上好,
我刚回复你一个帖子,发现没发出去,现在再发一次。若有重复只看一个就行。
我发现了最后一个问题,就是我这个帖子的第一个求助是删除掉集合内元素位置不同的,重复的集合任务。
那么现在,我发现不能直接删除,得检查。
所以,我想若碰到集合内元素位置不同而构成的重复集合,那么就标注以下,不直接删除。
示例如下:
俩个集合:
{A,B,C,A}
{A,B,C,A}
代码运行后:
待删除——{A,B,C,A}
待删除——{A,B,C,A}
这个样子,而不是直接删除,能否可以呢。
下面我上传了本次工作要用的C2.txt。这个txt里面目前就有{}这样的空集合,不用管他,只在有内容的集合上操作。然后按照原来的排序保存下来。
麻烦了。 Amgalang 发表于 2022-8-9 21:08
晚上好,
我刚回复你一个帖子,发现没发出去,现在再发一次。若有重复只看一个就行。
import re
with open('C:\\Users\\fxylo\\Downloads\\C2.txt', 'r', encoding='utf-8') as f:
data = f.readlines()
new_data = []
for item in data:
item = item.strip()
sorted_item = sorted(re.sub(r'[{|}]', '', item).split(','))
new_data.append(','.join(sorted_item))
for index, item in enumerate(new_data):
if ',' in item and (item in new_data or item in new_data):
data = '待删项——' + data
with open('C:\\Users\\fxylo\\Downloads\\B.txt', 'w', encoding='utf-8') as f:
f.writelines(data)
这个也许可以
页:
1
[2]