목록의 값을 반복해야 하는 시나리오가 있습니다. 이 값의 중복은 다음과 같은 방법으로 파이썬에서 달성할 수 있습니다.
중첩 for 루프 사용
각 요소를 선택하고 내부 for 루프를 통해 복제를 생성한 다음 두 요소를 모두 외부 for 루프에 전달하는 간단한 접근 방식입니다.
예시
# Given list listA = ['Mon', 'Tue', 9, 3, 3] print("Given list : ",listA) # Adding another element for each element Newlist = [i for i in listA for n in (0, 1)] # Result print("New list after duplication: ",Newlist)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]
itertools 사용
itertools 모듈은 iterable에서 데이터 조작을 처리합니다. 여기에서 chain.from_iterables를 적용합니다.
예시
import itertools # Given list listA = ['Mon', 'Tue', 9, 3, 3] print("Given list : ",listA) # Adding another element for each element Newlist = list(itertools.chain.from_iterable([n, n] for n in listA)) # Result print("New list after duplication: ",Newlist)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]
감소 포함
reduce 함수는 두 번째 인수로 전달된 모든 목록 요소에 인수로 전달된 특정 함수를 적용합니다. 목록에 있는 각 요소의 중복 요소를 추가하는 add 함수와 함께 사용합니다.
예시
from functools import reduce from operator import add # Given list listA = ['Mon', 'Tue', 9, 3, 3] print("Given list : ",listA) # Adding another element for each element Newlist = list(reduce(add, [(i, i) for i in listA])) # Result print("New list after duplication: ",Newlist)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]