我有一个填充了~100个名字的列表。此列表中的名称出现一次或两次,我想通过列表查找两次发生的名称以及仅发生一次的名称。我还需要列表中重复出现的名称的位置以及只出现一次的名称的位置。
我不确定如何做到这一点,因为我能想到的所有方法效率都很低,因为即使他们已经找到匹配项,它们也会通过整个列表。我能想到的其他方法会返回两个重复的位置。出现两次的名称不一定是彼此相邻的。
例如,如果这是列表:
mylist = [ 1, 2, 3, 1, 4, 4, 5, 6]
我需要一些输出(类似的东西):
[[0,3],[1],[2],[4,5],[6],[7]]
这些数字是重复名称的位置和出现一次的名称的位置。
我绝不是专家,所以任何帮助都会受到赞赏。