inflearn logo
강의

講義

知識共有

プログラミングの始め方:挑戦!45のPython基本文法の実践(Inflearnオリジナル)

重複削除(Remove Duplicates)

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

121

Zetta Kim

投稿した質問数 7

0

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

[요구하는 답]

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

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

python

回答 4

1

niceman

여러 방법이 있지만,

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

niceman

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

for, range 추가 방법

0

32

0

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

0

73

1

glob.glob문 오류

0

70

1

질문입니다.

0

62

1

기초적인 질문입니다.

0

53

1

딕셔너리 인트문제

0

50

0

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

0

122

1

실행오류

0

60

2

주피터 노트북 새버전

0

131

2

with open

0

127

2

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

0

178

2

기초적인 질문입니다만

0

108

1

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

0

167

2

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

0

241

2

주피터 token

0

138

2

주피터 token

0

162

2

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

0

719

4

python 3 (ipykernel)이 뜨지 않음

0

202

1

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

1

342

3

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

0

254

2

오류

0

146

1

주피터 실행 불가 에러

0

409

2

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

0

279

3

편집모드가 안됩니다.

0

301

2