inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)

중복 제거(Remove Duplicates)

방법2, 방법3의 결과가 요구 출력결과와 다릅니다.

125

Zetta Kim

작성한 질문수 7

0

방법2 OrderedDict과 방법3는 요구하는 정렬이 안되었습니다.

[요구하는 답]

출력 결과 : [1, 2, 3, 4, 5, 'a', 'b']

중복 제거하고 원소의 순서를 유지하는 것을 물어 보신 것 같은데 예시하는 답변은 정렬이 되어있습니다.

python

답변 4

1

좋은사람

여러 방법이 있지만,

1 번 방법

 

def dedupe_keep_order(seq):

seen = set()

return [x for x in seq if not (x in seen or seen.add(x))]

data = [1, 2, 3, 1, 2, 5, 3, 7]

print(dedupe_keep_order(data))

출력 : [1, 2, 3, 5, 7]

 

2번 방법(복잡한 원소예시)

data = [

"dog", "cat", "dog", "bird", "cat", "lion",

"tiger", "lion", "dog", "bear", "tiger", "wolf",

"wolf", "cat", "eagle", "bear"

]

 

unique = list(dict.fromkeys(data))

print(unique)]

 

출력 : ['dog', 'cat', 'bird', 'lion', 'tiger', 'bear', 'wolf', 'eagle']

 

 

3번 방식(Set)

seen = set()

unique = [x for x in data if not (x in seen or seen.add(x))]

print(unique)

 

출력 : ['dog', 'cat', 'bird', 'lion', 'tiger', 'bear', 'wolf', 'eagle']

 

등이 있습니다. 코드는 한 번 살펴보고 수정이 필요하면 업데이트 할께요!

0

Zetta Kim

코드에 문제가 있다는 것이 아니고 출력답안을 [1,2,3,4,5'a','b']이렇게 소트된 상태로 제시하셔서 소트를 하라는 의도로 보여서 말씀드린겁니다.

0

Zetta Kim

강사님 코드를 말하는 겁니다.

image.png

 

 

0

좋은사람

안녕하세요 전체 소스코드를 올려주시면 감사드리겠습니다.

dict, zip

0

21

2

for, range 추가 방법

0

40

0

오타: 20-1 예시 코드에 c = 135가 아니고 a = 135이죠?

0

77

1

glob.glob문 오류

0

71

1

질문입니다.

0

66

1

기초적인 질문입니다.

0

56

1

딕셔너리 인트문제

0

53

0

아나콘다 설치 시 오류가 뜨면서 인스톨이 끝까지 안 되네요...

0

123

1

실행오류

0

65

2

주피터 노트북 새버전

0

134

2

with open

0

131

2

PowerShell Prompt에서 주피터노트북 기본 드라이버/폴더 위치변경 후 주피터노트북 실행

0

186

2

기초적인 질문입니다만

0

113

1

새로운 dict를 생성한 이유에 대해서 궁금합니다.

0

169

2

안녕하세요 전 버전이 상위버전인지 달라서

0

245

2

주피터 token

0

142

2

주피터 token

0

166

2

아나콘다를 D드라이브에 설치했는데

0

721

4

python 3 (ipykernel)이 뜨지 않음

0

203

1

안돼요ㅜㅜ in[]으로 뜨지도 않고 초록색으로 변하지도 않아요...

1

346

3

주피터를 크롬말고 엣지에서 그대로 써도 괜찮은가요?

0

259

2

오류

0

149

1

주피터 실행 불가 에러

0

414

2

아나콘다 다운받았는데 주피터는 같이 다운로드가 안 됐어요 어떻게 하면 되나요??

0

286

3