안녕하세요. python 리스트 중복 값에 대하여 수정을 하고 싶어 질문드립니다.
list = [1,2,3,4,4,5,5,5,5,5,6,7,8]
list의 중복되는 값들을 수정하고 싶습니다.
예를 들어
4와5가 여러 개가 있는데
여기서 4는 2개 종복이니 4와 4.5
5는 5는 5개 중복이니 5와 5.2, 5.4, 5.6, 5.8 이런식으로 수정을 하고 싶습니다.
중복되는 리스트 값이 바뀌어도 계속해서 적용할 수 있는 방법이 있을까요?
Comment 1
-
지영아빠
2022.10.14 09:57
여러 방법이 있을 껀데요.
리스트에 중복인 거 구하고 그걸 이용해서 dup_list를 만든 다음
꺼내서 update해버리는 방시그로 해봤어요
참고요
lists = [1,2,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,6,7,7,7,8]
def rep_list(lists):
dicts = {x : lists.count(x) for x in set(lists) if lists.count(x) > 1 }
dup_lists = [k + no/len(range(0, dicts[k])) for k in dicts.keys() for no, x in enumerate(range(0, dicts[k]))]
for no, x in enumerate(lists):
if x in dicts.keys():
lists[no] = dup_lists.pop(0)
return lists
print(rep_list(lists))