해결됨: 목록 파이썬에서 중복 이름 바꾸기

목록에서 중복 항목의 이름을 바꾸는 것은 중복 항목을 식별한 다음 이름을 바꾸는 방법을 결정해야 하기 때문에 해결하기 어려운 문제일 수 있습니다. 목록에 많은 요소가 포함되어 있거나 요소가 복잡한 개체인 경우 특히 어려울 수 있습니다. 또한 중복 항목의 이름을 바꾸려면 요소가 계속해서 제대로 작동하도록 하려면 요소의 원래 이름에 의존하는 코드의 다른 부분을 수정해야 할 수 있습니다.

def rename_duplicates(lst): 
    seen = set() 
    new_lst = [] 

    for item in lst: 
        if item not in seen: 
            seen.add(item) 
            new_lst.append(item) 
        else: 
            new_item = item + '_1'   # append a suffix to make it unique  

            while new_item in seen:   # increment the suffix until it's unique  
                suffix = int(new_item.split('_')[-1]) + 1   # get the last number and add one to it  
                new_item = '{}_{}'.format('_'.join(new_item.split('_')[:-1]), suffix)

            seen.add(new_item)     # add the newly created item to the set of seen items  
            new_lst.append(new_item)     # append the newly created item to the list

    return new

_lst

# 이 코드는 목록을 인수로 받는 rename_duplicates라는 함수를 정의합니다.
def rename_duplicates(lst):

# 그런 다음 seen이라는 빈 집합과 new_lst라는 빈 목록을 만듭니다.
본 = set ()
new_lst = []

# 그런 다음 목록의 항목을 반복하고 이미 본 항목 세트에 있는지 확인합니다.
목록의 항목:
if item not in seen: # 없으면 보이는 항목 집합에 추가하고 새 목록에 추가합니다.
본.추가(항목)
new_lst.append(item) # 그렇다면 이름에 접미사(예: '_1')를 추가하여 해당 항목의 고유한 버전을 생성하고 이 새로 생성된 항목이 표시된 항목 집합에 이미 있는지 확인합니다.

else: # 그렇다면, 해당 항목 이름의 사용되지 않은 버전을 찾을 때까지 접미사를 증가시키고 실행이 끝날 때 이 새 목록을 반환하기 전에 새로 생성된 항목을 표시된 항목 집합과 새 목록 모두에 추가합니다.

new_item = 항목 + '_1'

while new_item in seen: # 고유할 때까지 접미사 증가

suffix = int(new_item.split('_')[-1]) + 1 # 마지막 숫자를 가져와 XNUMX을 더함

new_item = '{}_{}'.format('_'.join(new_item.split('_')[:-1]), 접미사)

본.추가(신규

Python의 목록

Python의 목록은 가장 일반적으로 사용되는 데이터 구조 중 하나입니다. 다른 목록을 포함하여 모든 유형이 될 수 있는 항목 모음을 저장하는 데 사용됩니다. 목록은 변경 가능합니다. 즉, 목록을 만든 후에도 변경할 수 있습니다. 또한 인덱싱, 슬라이싱 및 연결과 같은 작업도 지원합니다.

Python에서 목록을 만들려면 대괄호를 사용하고 각 항목을 쉼표로 구분합니다.

내_목록 = [1, 2, 3]

색인을 사용하여 목록의 개별 요소에 액세스할 수 있습니다.
my_list[0] # 1을 반환합니다.
my_list[1] # 2을 반환합니다.
my_list[2] # 3을 반환합니다.

음수 인덱스를 사용하여 목록의 끝에서 요소에 액세스할 수도 있습니다.

my_list[-1] # 3 반환(마지막 요소)

append() 메서드를 사용하여 목록에 항목을 추가할 수 있습니다.

my_list.append(4) # 목록 끝에 4를 추가합니다.

remove() 또는 pop() 메서드를 사용하여 목록에서 항목을 제거할 수 있습니다.

my_list.remove(3) # 목록에서 3을 제거합니다.

my_list.pop(2) # 목록에서 2(세 번째 요소)를 제거하고 반환합니다.

Python의 목록에서 중복 이름 바꾸기

파이썬에서 리스트에서 중복 이름 바꾸기는 리스트를 다룰 때 흔히 하는 일입니다. 여기에는 목록의 중복 요소를 고유한 값으로 바꾸는 작업이 포함됩니다. 이는 목록에서 모든 중복 요소를 제거하고 고유한 요소만 있는 새 목록을 반환하는 set() 함수를 사용하여 수행할 수 있습니다. set() 함수는 이전 값을 새 값으로 매핑하여 중복 항목의 이름을 바꾸는 데에도 사용할 수 있습니다. 예를 들어 숫자 목록이 있고 모든 중복 항목을 각각의 사각형으로 바꾸려는 경우 다음 코드를 사용할 수 있습니다.

# 빈 사전 생성
매핑 = {}

# 원래 목록을 반복
my_list의 항목:
# 항목이 사전에 이미 존재하는지 확인
항목이 매핑에 없는 경우:
# 그렇지 않은 경우 사전에 추가하고 해당 제곱을 값으로 할당
mapping[항목] = 항목 * 항목

# 빈 결과 목록 생성
결과 목록 = []

# 원래 목록을 다시 반복하고 my_list의 i에 대한 사전에서 해당 사각형으로 각 요소를 바꿉니다: result_list.append(mapping[i])

# 결과 출력 print(result_list)

관련 게시물:

코멘트 남김