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