본문 바로가기

반응형

흔한말 (collection)/Python

(21)
Python For 문을 연습하는 방법(feat. Revit Dynamo) 오늘은 Python의 for 문을 알아볼텐데, Revit Dynamo에서 파이썬 노드를 꺼내서 실습해보겠습니다. 굳이 다이나모에서 실습하는 이유는 레빗 프로젝트와 연동해서 객체를 반복문으로 다루는 법을 보이고자 함입니다. Python for문을 어떻게 접근하고 익힐까요? 기본 개념 (코딩도 언스마트하게 하면 육체노동을 할 수 있다?!) for 문을 공부하는 것은 어떤 언어에서든 기본이 됩니다. “다이나모 기본노드 활용 시리즈-2” 에서 언급했었는데, 1개의 개체를 다루는 코드와, 2개 이상의 개체를 다루는 코드는 구조가 다릅니다. 2개 이상을 다루는 코드의 재료가 되는 것 중 가장 이해하기 쉬운 것이 리스트입니다. 라는 말을 한 적이 있죠? 2개 이상의 개체를 다루기 위해서는, 하나의 객체를 다루는 코드..
Jupyter Notebook을 환경설정 없이 간편하게 쓰는 방법? 이 포스트를 보시려면 일단 주피터 노트북이 뭔지 아셔야 하고, 주피터노트북에 사용되는 파이썬 기본문법에 대해서도 아셔야 합니다. 그리고, 주피터 노트북을 이용해 다양한 프로젝트를 할 때 필요한 다양한 라이브러리 설정들을 분리해서 관리하기 위해 아나콘다라는 프로그램을 깔아야 한다는 것도 알아야 하고요. 알아야 할 것이 많지만, 모두 알고 있을 필요는 당연히 없습니다. 이 글을 보고 주피터 노트북이 쉬워? 이렇게 생각하기만 하면 오늘부터 바로 하나씩 파고들면서 사용을 시작 할 수 있으니까요. 주피터 노트북을 클라우드 환경에서 써보자 주피터 노트북을 아시나요? 코드가 포함된 문서를 만들고 공유하는데 사용되는 프로그램이고 점점 인기가 높아지고 있는 프로그램입니다. 단지 파이썬 실행파일이 아니기에, "Cell 단..
Python 리스트 컴프리헨션 맛보기(할-짝) 파이썬으로 for문을 써서 여러가지를 하는 데 익숙해진 분들은 점점 자신감이 붙으면서도, 여러 줄로 작성되는 코드가 조금 거추장스럽게 느껴질 수도 있습니다. 저도 그랬으니까요. for문이 하는 일을 러프하게 정의하자면, 내가 가진 어떤 리스트의 원소를 하나씩 꺼내서 조건에 맞는지 확인하고, 맞으면 특정한 조작을 가해서 새로운 리스트 안에 집어넣는, 뭐 일련의 이런 과정이 많을 겁니다. 그러니 결과가 익숙해지면 과정이 좀 축약되었으면 좋겠다라는 생각을 하는 것이죠. 이럴 때 아주 유용한 것이 바로 리스트 컴프리헨션 문법입니다. 리스트 컴프리헨션이란? 흔히 사용되는 순회문의 문법이 한줄로 축약되는 문법이라고 보시면 됩니다. 코드가 간결해짐과 동시에, 제너레이터를 반환하기 때문에 lazy evaluation으..
파이썬 조건문 예제입니다. 근데 이제 다이나모를 곁들인.. 프로그래밍에서는 다양한 상황이 벌어지는데, 그 중에서 조건에 맞는 객체만 골라서 통과시키거나 거부해야 하는 상황이 자주 발생합니다. 파이썬에서는 if 문을 활용하면 되는데, 실제로 어떤 상황에서 어떻게 적용하게 되는지 간단한 예제로 살펴봅시다. 반복문에서의 조건문 활용 mylist = [ "강남_지사1", "강남_지사2", "강동_지사3", "강서_지사4", "강서_지사5", "강북_지사6", "강북_지사7", "강북_창고1", "강북_창고2", "의정부_지사8", "남양주_지사9", "수원_안전가옥", "태안_창고3", "강릉_소극장", "속초_연구동1", "나주_연구동2", "경주_지사10", "부산_지사11", ] myresult = [] for i in mylist: if "강남" in i or ..
내장 함수 enumerate() 반복문을 사용할 때, 원소와 인덱스를 동시에 얻고 싶을 때가 있습니다. 가장 흔하게 떠올릴 수 있는 코드는 아래와 같습니다. idx = 0 for element in ['AA', 'bb', 'Cc']: print(idx, element) idx += 1 ... 0 AA 1 bb 2 Cc 그런데 이 방법은 반복문이 종료된 이후에도 idx 라는 변수를 남기게 되어 찝찝하다는 단점이 있습니다. 이럴때 쓰는 파이썬 내장함수가 바로 enumerate 입니다. 위의 코드에서 idx 변수를 지워버리고, 순회의 대상이 되는 목록을 enumerate 함수로 감싸버리면 됩니다. for i in enumerate(['AA', 'bb', 'Cc']): print(i) ... (0, 'AA') (1, 'bb') (2, 'Cc'..

반응형