전체 (363) 썸네일형 리스트형 python defaultdict 과 defaultdict of defaultdict 딕셔너리를 사용하다보면 값을 ++ 해주거나 변경할때 해당 키의 벨류가 있는지 검사를 해줘야한다. 이게 너무 귀찮을때 쓸수있는 모듈로 defaultdict 이있다. from collections import defaultdict ddict = defaultdict(int) defaultdict은 해당 키가 없는경우 파라미터의 기본으로 값을 초기화 해준다. 즉 위 상태에서 ddict['test'] += 1; 을 하면 'test' 키가 없습니다. 라고 오류를 뿜는것이 아니라 그냥 기본값 0 이 들어가고 ddict['test'] 는 1이 된다. 파라미터로 int, set, 뭐 기타등등을 넣을수 있는데 이때 기본값을 좀더 명확하게 정해주고싶을때가 있는데, 예를 들어 defaultdict(default(int)) .. Python Hex to float import struct import binascii #blah blah~ y = struct.unpack(" Python 폴더의 파일 전부 가져오기 import os import sys for root, dirs, files in os.walk('.\\log'): file_list = list(filter(lambda s: s[-3:] == "log" , files)) file_list.sort() break; 분명 연구는 C++로 하는데 연구실에서 하는 일이 다 그렇듯 나온 데이터 분석하고 분류하고 정리하고 하는 일이 태반이다. 그래서 정작 Python을 가장 많이 만진것같다 흠.. 여튼 로그 분석하는 경우가 잦아 해당 폴더의 모든 로그파일을 가져오는것을 많이 하는데 그럴때마다 위의 코드와 같은 방법을 이용한다. 매번 복사해서 이용하는데 .. 코드만 봐도 딱 알 수 있듯이 \log 폴더의 root,dirs, files 이며 files 에서 log파.. Python 에서 IP 가져오기 연구실에서 다수의 서버에서 실험을 돌리는데 클러스터링이 되있지 않아 전부 수동으로 돌린다 ㅜ 그래서 좀더 편하게 실험 데이터를 뽑기위하여 파이썬 스크립팅을 많이 하는데 이번에는 각 서버에서 돌릴 배치파일을 자동으로 실행시켜주게 하기위하여 자신의 IP 를 가져오는것이 필요해졌다. import socket print(socket.gethostbyname(socket.getfqdn()))#1-1 print(socket.gethostbyname(socket.gethostname()))#1-2 print(socket.gethostbyname_ex(socket.getfqdn()))#2 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#3 s.connect(('8.8.8... 플러그인 필요없는 크로스 브라우저간 통신 Webrtc 예전에 Webrtc 관련한 일을 할뻔했는데.. 여러가지 사정상 하지는 않았다. 그때 처음 봤던 기술이었는데 최근에 친구들과 보드게임을 하면서 "이거 그냥 프로그래밍해서 우리끼리 쓸수있지 않을까?" 라는 말이 나와서 시간이 나면 한번 만들어 보려고 다시 찾아보고있다. 플러그인 없고 크로스 웹 브라우저간에도 통신이 된다는점에서 (심지어 네이티브까지) 아주 강력하고 유용하다. P2P 기반이기는 하지만 네트워크 주소를 얻기위한 STUN 서버와 P2P 연결 실패 했을 경우를 위한 TURN 서버가 필요하다 근데뭐 그냥 지인들끼리 보드게임용으로 쓰는경우 (같은 네트워크에서 카드만 분배해주면 되니까..) 에는 필요없을꺼 같다. 원래 음성채팅기능을 만들기 위해서 Audio 챕터에 넣었었는데 생각해보니까 Audio 한정이.. [Clojure] 4Clojure 4 #43 Reverse Interleave (fn f [arglist argnumber] (->> arglist (map-indexed vector) (group-by #(mod (first %) argnumber)) (vals) (map #(map last %)) ) ) ;;-> Best answer : (apply map vector (partition n v)) #44 Rotate Sequence (fn f [n v] (let [newn (cond ( n (count v) ) (mod n (count v)) :else n)] (take (count v) (drop newn (flatten (repeat 2 v)) ) ) ) ) ;;-> repeat 가 아니라 cycle이 있음. #45 Intro to.. [Clojure] 4Clojure Easy 3 #30 Compress a Sequence (fn f [v] (map first (partition-by identity v) ) ) #31 Pack a Sequence (fn f [v] (partition-by identity v) ) ;;머지 파티션-바이 를 쓰는게 아닌가.. #33 Replicate a Sequence (fn f [vec repeat_number] (mapcat #(repeat repeat_number %) vec) ) #34 Implement range (defn f [s e] (take (- e s) ( (fn my-number-seq [s] (lazy-seq (cons s (my-number-seq (inc s)) )) ) s ))) #39 Interleave Two Seqs .. [Clojure] 4Clojure Easy 2 #49 Split a sequence (fn mac [n vec] (list (take n vec) (take-last (- (count vec) n) vec)) ) // (fn mac [n vec] (map (fn [v2] (map (fn [v3] (last v3)) v2 )) (map val (group-by (fn [[i v]] (if (> i (dec n)) true false)) (map-indexed vector vec) ) ) ) ) //처음에 한버전 #29 Get the Caps (fn mac [para] (clojure.string/join "" (re-seq #"[A-Z]" para)) ) #32 Duplicate a Sequence (fn mac [para] (mapcat #(list.. 이전 1 ··· 22 23 24 25 26 27 28 ··· 46 다음