Python : 목록을 반복하고 중복을 제거합니다 (Set () 사용하지 않음).

리암 G

그래서 목록이 있습니다.

s = ['cat','dog','cat','mouse','dog']

그리고 set () 함수를 사용하지 않고 목록을 반복하고 중복을 제거 할 수 있기를 원합니다! 따라서 예를 들어 'cat'과 위치 s [2]를 제거해야하지만 'cat'은 위치 s [0]에 유지해야합니다. 그런 다음 '개'에 대해 동일한 작업을 수행해야합니다. 위치 s [1]에 'dog'을 유지하고 위치 s [4]에서 'dog'을 제거합니다.

따라서 출력은 다음과 같습니다.

s = ['cat','dog','mouse']

i와 j를 목록의 인덱스 위치로 사용하고 i 위치의 요소가 j 위치의 요소와 같은지 확인했습니다. 그렇다면 그것을 제거하고 j의 값을 1 씩 증가시킵니다. 그렇지 않은 경우에는 그대로두고 j의 값을 증가시킵니다. 전체 목록이 반복 된 후 i의 값을 증가시킨 다음 새 요소에 대해 전체 목록을 다시 확인합니다. 이하:

i = 0
j = 1
for a in range(len(s)):
    for b in range(len(s)):
        if s[i] == s[j]:
            s.remove(s[j])
            j = j + 1
        else:
            j = j + 1
    i = i + 1

내가 여기서 뭘 잘못하고 있니?

Apollys는 Monica를 지원합니다.

문제는 "자동"for 루프와 관련이 있습니다. 반복되는 루프를 수정할 때주의해야합니다. 적절한 해결책은 다음과 같습니다.

def remove_dup(a):
   i = 0
   while i < len(a):
      j = i + 1
      while j < len(a):
         if a[i] == a[j]:
            del a[j]
         else:
            j += 1
      i += 1

s = ['cat','dog','cat','mouse','dog']
remove_dup(s)
print(s)

Output: ['cat', 'dog', 'mouse']

이 솔루션은 현재 위치에 있으며 새 어레이를 만드는 대신 원래 어레이를 수정합니다. 또한 추가 데이터 구조를 사용하지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

set ()을 사용하지 않고 튜플에서 중복 제거

분류에서Dev

세트를 사용하지 않고 중첩 된 목록에서 중복을 제거합니다.

분류에서Dev

모든 다음 목록을 이전 목록과 비교하고 고유 목록을 저장하여 Python의 목록 목록을 반복합니다.

분류에서Dev

Python에서 하위 목록이 고르지 않을 때 중복 된 하위 목록 제거

분류에서Dev

Python에서 하위 목록이 고르지 않을 때 중복 된 하위 목록 제거

분류에서Dev

Python 목록을 반복하는 중 TypeError : 'NoneType'객체가 반복 가능하지 않습니다.

분류에서Dev

블록 고유는 중복을 제거하지 않습니다.

분류에서Dev

문자열을 분할하고 마지막 반복에서 사용하지 않은 0을 제거합니다.

분류에서Dev

목록에 중복을 추가하지 않음 -python

분류에서Dev

Python-사전 목록을 반복하여 중복 데이터 제거

분류에서Dev

$ @ 변수가 for 루프에서 작동하지 않고 사용자 목록을 반복하려고합니다.

분류에서Dev

목록의 Python 목록을 반복하고 각 하위 목록의 최종 색인을 제거하고 가져 오기 없음

분류에서Dev

ORACLE SQL은 중복을 제거하지 않고 구별을 선택합니다.

분류에서Dev

linq를 사용하여 목록의 중복 속성을 재설정 (제거하지 않음)

분류에서Dev

중복 선택하지 않고 목록을 반복하는 방법이 있습니까?

분류에서Dev

Python beautifulSoup : 목록을 생성 및 결합하고 \ n과 같은 중복 제거

분류에서Dev

다차원 배열을 반복하고 중복을 제거하고 다른 값을 병합합니다.

분류에서Dev

데이터 프레임 목록을 반복하고 중복 항목을 포함하지 않는 열 이름을 반환합니까?

분류에서Dev

Python & BeautifulSoup을 사용하여 스크랩 한 웹 링크를 중복 제거하려고하는데 작동하지 않습니다.

분류에서Dev

작동하지 않는 정렬 된 연결 목록 코드에서 중복을 제거합니다.

분류에서Dev

목록을 반복하고 해당 요소를 여러 번 제거합니다.

분류에서Dev

Java 8, 목록에서 중복을 반환하는 가장 효율적인 방법 (제거하지 않음)?

분류에서Dev

파이썬은 다른 목록에 존재하는 목록에서 항목을 제거하지만 교차하지 않는 중복은 유지합니다.

분류에서Dev

목록을 반복하고 새 목록에 합계를 추가하는 Python

분류에서Dev

이전 항목을 반복하지 않고 Python에서 목록 정렬

분류에서Dev

목록을 반복하는 동안 목록에서 유사한 요소를 계산하고 제거합니다.

분류에서Dev

"중복 제거"기능은 모든 중복을 제거하지 않습니다.

분류에서Dev

두 목록을 반복하고 Pandas Python을 사용하여 일치하는 요소를 찾습니다.

분류에서Dev

고유 값을 제거하고 중복 만 남겨두고 배열을 반복합니다.

Related 관련 기사

  1. 1

    set ()을 사용하지 않고 튜플에서 중복 제거

  2. 2

    세트를 사용하지 않고 중첩 된 목록에서 중복을 제거합니다.

  3. 3

    모든 다음 목록을 이전 목록과 비교하고 고유 목록을 저장하여 Python의 목록 목록을 반복합니다.

  4. 4

    Python에서 하위 목록이 고르지 않을 때 중복 된 하위 목록 제거

  5. 5

    Python에서 하위 목록이 고르지 않을 때 중복 된 하위 목록 제거

  6. 6

    Python 목록을 반복하는 중 TypeError : 'NoneType'객체가 반복 가능하지 않습니다.

  7. 7

    블록 고유는 중복을 제거하지 않습니다.

  8. 8

    문자열을 분할하고 마지막 반복에서 사용하지 않은 0을 제거합니다.

  9. 9

    목록에 중복을 추가하지 않음 -python

  10. 10

    Python-사전 목록을 반복하여 중복 데이터 제거

  11. 11

    $ @ 변수가 for 루프에서 작동하지 않고 사용자 목록을 반복하려고합니다.

  12. 12

    목록의 Python 목록을 반복하고 각 하위 목록의 최종 색인을 제거하고 가져 오기 없음

  13. 13

    ORACLE SQL은 중복을 제거하지 않고 구별을 선택합니다.

  14. 14

    linq를 사용하여 목록의 중복 속성을 재설정 (제거하지 않음)

  15. 15

    중복 선택하지 않고 목록을 반복하는 방법이 있습니까?

  16. 16

    Python beautifulSoup : 목록을 생성 및 결합하고 \ n과 같은 중복 제거

  17. 17

    다차원 배열을 반복하고 중복을 제거하고 다른 값을 병합합니다.

  18. 18

    데이터 프레임 목록을 반복하고 중복 항목을 포함하지 않는 열 이름을 반환합니까?

  19. 19

    Python & BeautifulSoup을 사용하여 스크랩 한 웹 링크를 중복 제거하려고하는데 작동하지 않습니다.

  20. 20

    작동하지 않는 정렬 된 연결 목록 코드에서 중복을 제거합니다.

  21. 21

    목록을 반복하고 해당 요소를 여러 번 제거합니다.

  22. 22

    Java 8, 목록에서 중복을 반환하는 가장 효율적인 방법 (제거하지 않음)?

  23. 23

    파이썬은 다른 목록에 존재하는 목록에서 항목을 제거하지만 교차하지 않는 중복은 유지합니다.

  24. 24

    목록을 반복하고 새 목록에 합계를 추가하는 Python

  25. 25

    이전 항목을 반복하지 않고 Python에서 목록 정렬

  26. 26

    목록을 반복하는 동안 목록에서 유사한 요소를 계산하고 제거합니다.

  27. 27

    "중복 제거"기능은 모든 중복을 제거하지 않습니다.

  28. 28

    두 목록을 반복하고 Pandas Python을 사용하여 일치하는 요소를 찾습니다.

  29. 29

    고유 값을 제거하고 중복 만 남겨두고 배열을 반복합니다.

뜨겁다태그

보관