본문 바로가기

Pythonic16

[파이썬을 파이썬답게] sequence 멤버를 하나로 이어붙이기 dirty code my_list = ['1', '100', '33'] answer = '' for a in my_list: answer += a pythonic my_list = ['1', '100', '33'] answer = ''.join(my_list) join 까지는 생각했는데 2021. 3. 8.
[파이썬을 파이썬답게] map 함수 응용하기 len 함수를 그냥 넣으면 됨 def solution(mylist): answer = list(map(len, mylist)) return answer 2021. 3. 8.
[파이썬을 파이썬답게] i번째 원소와 i+1번째 원소 my dirty code def solution(mylist): answer = [] for i in range(len(mylist)-1): answer.append(abs(mylist[i] - mylist[i+1])) return answer Using zip def solution(mylist): answer = [] for number1, number2 in zip(mylist, mylist[1:]): answer.append(abs(number1 - number2)) return answer ※ 주의 zip 함수에 서로 길이가 다른 리스트가 인자로 들어오는 경우에는 길이가 짧은 쪽 까지만 이터레이션이 이루어집니다. 더 자세한 내용은 공식 레퍼런스 - zip의 내용을 참고해주세요. Returns a.. 2021. 3. 8.
[파이썬을 파이썬답게] 2차원 리스트 뒤집기 def solution(mylist): answer = [list(x) for x in zip(*mylist)] return answer for x 2 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[i].append(mylist[j][i]) pythonic mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] new_list = list(map(list, zip(*mylist))) ZIP zip으로 dict의 key, value를 넣어줄 수 도 있다. wikidocs.net/32#zip.. 2021. 3. 8.
[파이썬을 파이썬답게] 알파벳 출력하기 내풀이 num = int(input().strip()) if num == 0: for i in range(ord('a'), ord('z')+1): print(chr(i),end='') else: for i in range(ord('A'), ord('Z')+1): print(chr(i),end='') pythonic import string string.ascii_lowercase # 소문자 abcdefghijklmnopqrstuvwxyz string.ascii_uppercase # 대문자 ABCDEFGHIJKLMNOPQRSTUVWXYZ string.ascii_letters # 대소문자 모두 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ string.digi.. 2021. 3. 8.
[파이썬을 파이썬답게] 문자열 정렬하기 ### 우측 정렬 예 s = '가나다라' n = 7 answer = '' for i in range(n-len(s)): # 문자열의 앞을 빈 문자열로 채우는 for 문 answer += ' ' answer += s s = '가나다라' n = 7 s.ljust(n) # 좌측 정렬 s.center(n) # 가운데 정렬 s.rjust(n) # 우측 정렬 2021. 3. 8.
[파이썬을 파이썬답게] n진법으로 표기된 string을 10진법 숫자로 변환하기 num = '3212' base = 5 answer = 0 for idx, number in enumerate(num[::-1]): answer += int(number) * (base ** idx) num = '3212' base = 5 answer = int(num, base) 2021. 3. 8.