본문 바로가기

전체 글225

[Python] for-else https://harryp.tistory.com/317 [Python] 파이썬 for-else 문 안녕하세요. 파이썬에 있는 편리한 문법인 for-else 문에 대한 포스팅 입니다. 보통 프로그래밍 언어에서 'else'라고 하면 if와 함께 오는 경우가 거의 대부분입니다. 하지만 파이썬에서는 for 문과도 harryp.tistory.com 특이하다. 간단히 정리하자면 for문 중간에 break등으로 끊기지 않고 끝까지 수행됐을 때 else 이하를 수행하는 방식이다. 2021. 10. 11.
[Python] dictionary에서 value로 key 구하기 https://isss.tistory.com/771 [파이썬/Python] 파이썬 딕셔너리에서 Value로 Key값 찾기 #딕셔너리 Value에 매칭되는 Key 찾기 #Finds key [파이썬/Python] 파이썬 딕셔너리에서 Value로 Key값 찾기 #딕셔너리 Value에 매칭되는 Key 찾기 딕셔너리에서 주어진 값을 가지고 매칭되는 키 값을 가져오는 함수를 만들어보겠다. 일단 아래와 isss.tistory.com 좋은 방법 같고 (여기선 next가 뭔지 공부하기) def get_key(val): for key, value in my_dict.items(): if val == value: return key 이렇게 함수를 아예 짜놓는 것도 좋은 것 같다 ㅎㅎ 기본 라이브러리로는 없다는게 괜히 서운하.. 2021. 10. 11.
[Python] collections- Counter 주어진 예제 https://programmers.co.kr/learn/courses/4008/lessons/13246 파이썬을 파이썬답게 - 가장 많이 등장하는 알파벳 찾기 본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코 programmers.co.kr 이 문제에는 표준 입력으로 문자열, mystr이 주어집니다. mystr에서 가장 많이 등장하는 알파벳만을 사전 순으로 출력하는 코드를 작성해주세요. 짱구 굴려서 검색해가면서 짰다. import string alphabets=string.ascii_lowercase#a to z 문자열 저장 atoz.. 2021. 10. 11.
[Python] itertools-2 순열과 조합을 구현해서 출력하라는 문제가 있는데 아무리 짱구를 굴려봐도 현재 내 능력치에서는 역부족이었다... 그래서 모범답안(?)을 봤는데 def permute(arr): result = [arr[:]] c = [0] * len(arr) i = 0 while i < len(arr): if c[i] < i: if i % 2 == 0: arr[0], arr[i] = arr[i], arr[0] else: arr[c[i]], arr[i] = arr[i], arr[c[i]] result.append(arr[:]) c[i] += 1 i = 0 else: c[i] = 0 i += 1 return result 이런 괴랄한.. 이해하기도 싫어서 우선 정답 돌려보고 다른 사람들 답안을 봤더니 결국 다들 나랑 똑같이 it.. 2021. 10. 10.
[Python] list 나름 정리 https://programmers.co.kr/learn/courses/4008/lessons/12836 파이썬을 파이썬답게 - 순열과 조합 - combinations, permutations 본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코 programmers.co.kr 순열 구현 아무리 생각해도 못하겠어서 일단 모범답안(?)으로 주는 코드를 봤는데 전혀 와닿지가 않지만 읽어보려고 하던 중 알 수 없는 기호 arr[:]가 나타났다 도대체 뭘까 싶어서 열심히 구글링 해봤고 https://stackoverflow.com/questions/35713.. 2021. 10. 10.
[Python] itertools 곱집합을 해주려면 예를 들어 'ABCD' 'xy' 두 문자열을 Ax Ay Bx By Cx Cy 이렇게 묶어주려면 for문을 2개는 돌려야 할거다 그런데 itertools의 product를 이용하면 매우 간단하게 구현 가능 import itertools iterable1 = 'ABCD' iterable2 = 'xy' iterable3 = '1234' print(list(itertools.product(iterable1, iterable2, iterable3))) 이렇게 구현 가능! 이려면 [('A', 'x', '1'), ('A', 'x', '2'), ('A', 'x', '3'), ('A', 'x', '4'), ('A', 'y', '1'), ('A', 'y', '2'), ('A', 'y', '3'), ('A.. 2021. 10. 10.
[Python] join sequence(list, tuple등) 멤버를 하나로 이어붙이는 일을 해주는 join str.join(iterable)로 사용할 수 있다. my_list = ['1', '100', '33'] answer = '' for value in my_list: answer += value 이렇게 for문으로 복잡하게 돌려야하는 문자열 이어붙이기를 my_list = ['1', '100', '33'] answer = ''.join(my_list) 이렇게 간단하게 해줄 수 있다. join 함수는 이렇게 정리할 수 있겠다. iterable의 멤버들을 str으로 이어붙여주는 일을 해주는 듯 시간 표시하던 방법 문제에서도 있었던것 같은데 이거였구나 숫자도 가능! 연장선 상에서 sequence type에 *연산이 가능한데 .. 2021. 10. 10.
[Python] zip zip(*iterables)는 각 iterables 의 요소들을 모으는 이터레이터를 만듭니다. 튜플의 이터레이터를 돌려주는데, i 번째 튜플은 각 인자로 전달된 시퀀스나 이터러블의 i 번째 요소를 포함합니다. 뭔 말인지 모르겠다. 간단히 내 말로 정리해보자면 zip에 인자로 넣어준 iterable한 변수들(tuple, list 등)을 쌍으로 맞춰서 tuple로 변환해주는 것 #보통은 다음과 같이 2중 for 문을 이용해 리스트의 row와 column을 뒤집습니다. mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] new_list = [[], [], []] for i in range(len(mylist)): for j in range(len(mylist[i])): new_list.. 2021. 10. 10.
[Python] 리스트 내포(List comprehension) https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=qbxlvnf11&logNo=221434003885 파이썬 리스트 안에서 for 문 사용하기 파이썬은 스크립트 언어답게 간결함을 지향합니다. 그래서 반복문 중 하나인 for 문 역시 보다 심플한 형식... blog.naver.com 여기 좋고 간단히 정리하면 리스트 명 = [표현식 for 변수 in 반복 가능한 대상(iterable) if 조건문] 이렇게 실행을 해주면 for문과 if문을 만족하는 표현식이 list의 item으로 저장되는 것! +21.10.25 list comprehension을 이용한 2차원 리스트 초기화 # M x N 의 2차원 리스트 초기화 array = [[0].. 2021. 10. 10.
[Python] sort() vs sorted() 일단 내가 이해한 바로는 sort()는 list에 실행을 해줘서 list 자체의 값을 바꿔버린다. list.sort() 를 해주면 그 list 자체가 정렬되어버리고 sorted()는 새로 정렬된 list를 만들어줄 수 있다. new_list=sorted(list) 이런 식으로 2021. 10. 10.