以下是一个解决“编号重复的行组 - 一组数字”的示例代码:
from collections import defaultdict
def find_duplicates(lines):
groups = defaultdict(list)
for line in lines:
group_id, numbers = line.split(":")
groups[group_id].append(numbers.strip())
duplicates = []
for group_id, numbers_list in groups.items():
if len(numbers_list) > 1:
duplicates.append(numbers_list)
return duplicates
lines = [
"1: 1, 2, 3",
"2: 4, 5, 6",
"1: 7, 8, 9",
"3: 10, 11, 12",
"2: 13, 14, 15",
"4: 16, 17, 18",
"1: 19, 20, 21"
]
duplicates = find_duplicates(lines)
print(duplicates)
输出结果:
[['1, 2, 3', '7, 8, 9', '19, 20, 21'], ['4, 5, 6', '13, 14, 15']]
这个示例代码使用了一个 defaultdict 来创建一个字典,其中每个键都对应一个列表。然后,它遍历输入的行,将每行的组编号作为键,将对应的数字列表添加到键的列表中。最后,它遍历字典,找到包含多个数字列表的键,并将这些列表添加到结果中返回。
上一篇:编号圆和线的对齐
下一篇:变化窗口大小的滚动统计量