btstudy.com 으로 오세요. 수능/내신 변형, 퀴즈를 무료로 공개합니다.

블루티쳐학원 | 등록번호: 762-94-00693 | 중고등 영어 | 수강료: 30(중등), 33(고등), 3+4(특강)

THE BLUET

728x90

안녕하세요? 영어하는 초보코더 임희재입니다.

 

오늘은 문장에 점수를 부여하고, 점수를 이용해 정렬하는 방법을 알아보겠습니다.

 

리스트의 모습은

 

a = [("I am a boy.",3),("You are a girl.",1),("We are people.",10)]

 

 

이렇게 생겼습니다.

 

문장에 고유한 점수를 부여하여 우선으로 공부해야 하는 문장을 추출하는 것이 목표입니다.

 

저는 개인적으로 엄청난 삽질ㅋ을 통해서 결국 진리와 같은 이 방법까지 오게 되었네요.

 

기존에 사용하던 방법은

3 I am a boy. 1 You are a girl. 10 We are people.

이렇게 입력하고, 문장 앞의 숫자처럼 보이지만 str인 값을 이용해서 정렬해주는 방법을 사용했습니다.

*However, 심각한 문제가 있으니

문자로 인식하는 순간 1은 1끼리 정렬하게 됩니다.

즉 1점 문장뒤에 3점이 아닌 10점이..... (중략.. -__-)

 

 

Here is Recipe!

 

a.sort(key=lambda item: item[1],reverse=True)

print(a)

 

제가 대략 이해한 바로는, lambda를 이용하면

("A",B)

A와 B값으로 분류가 가능합니다.

 

즉, A=item[0], B=item[1] 이 되는 것이지요. 

그래서 item, 즉 어떤 항목을 기준값으로 할 것이냐에서 item[1]을 이용하면 문장이 아닌 점수를 이용해서 정렬할 수 있게 됩니다.

 

마지막으로 reverse=True는 내림차순시(10->1)에 사용하는 것이고, 오름차순(1->10)으로 정렬하길 원하면 지우면 됩니다.

 

 

이상 초보코더의 팁이었습니다!!

 

좋아요 부탁해요~~

 

 

Comment +0

728x90

안녕하세요? 

 

코딩, 아직 저도 배우는 중이지만 (그리고 많이 발전해야하지만)

초보가 하는 말은 초보자에게 더 쉽게 이해가 되더라고요 ^^

 

긴 설명 좋아하지 않아서, 바로 들어갑니다.

 

 

코딩을 배우시려면, 먼저 '뭘 하고 싶다'는 발상을 하셔야 해요.

 

개인적으론, "찾아 바꾸기"를 쉽게 하려고 코딩에 입문했어요.

 

Sentence: I love you. I like you.

Find1: love
Replace1: see

Find2: like
Replace2: see

'이걸 동시에 할 수 있는 방법이 없을까?'

 

이 발상이 시작점이었습니다.

 

Here is Recipe.

1. 서브라임텍스트를 다운로드 하세요. (모든 코딩을 진행할 무료프로그램)

https://www.sublimetext.com/3

 

2. 정규식이 무엇인지 조금 아실 필요가 있어요. Regular Expression

 

급한 성격탓에 바로 예시 들어갑니다.

1. 이렇게 입력해보세요.

2. 좌측 하단에 .* 이 버튼 꼭 누르셔야 합니다. (Regex 사용가능하게함)

3. Command+Shift+F (Mac) 을 누르시고,

Find창에  love|like|know(바꿀말들)   (엔터위의 | 구분자입니다)

Replace창에 see(바꾸고 싶은 말) 입력후

4. Replace 버튼 누르시고, 바꾸세요~!!

5. 짜잔~~그럼 이렇게 바뀝니다.

호기심으로 시작하는 코딩 입니다.

앞으로 파이썬, 자바스크립트, CSS, HTML에 관해서 지속적으로 글을 쓰려고 합니다.

많은 응원과 추천 부탁합니다..

 

다음 시간엔, 정규식으로 5가지 프로젝트를 진행해 보겠습니다.!!!

 

 

빠이~~

 

'코딩강좌' 카테고리의 다른 글

파이썬 Lambda를 이용한 Sort 방법 [왕초보도가능]  (0) 2019.04.18

Comment +0