강의

멘토링

커뮤니티

Inflearn Community Q&A

zettakim's profile image
zettakim

asked

Getting Started with Programming: Challenge! 45 Python Basic Grammar Exercises (Inflearn Original)

Remove Duplicates

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

Written on

·

72

·

Edited

0

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

[요구하는 답]

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

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

python

Answer 4

1

niceman님의 프로필 이미지
niceman
Instructor

여러 방법이 있지만,

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님의 프로필 이미지
Zetta Kim
Questioner

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

0

Zetta Kim님의 프로필 이미지
Zetta Kim
Questioner

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

image.png

 

 

0

niceman님의 프로필 이미지
niceman
Instructor

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

zettakim's profile image
zettakim

asked

Ask a question