


Archive for the 'python' Category
複数リストをfor~inで回したい
Author: あきを
pythonで
abc = ['a','b','c']
xyz = ['x','y','z']
for a, x in abc, xyz:
print a,x
みたいな書き方をしたいんだけど
上手いやり方が思いつかない。
(追記)mynzさんより、zip()を使用する方法で解決できることが判明。サンクスです!
abc = ['a','b','c']
xyz = ['x','y','z']
for a, x in zip(abc, xyz):
print a,x
一応イテレータを自作した方法も残しておきます。
def __init__(self,*ml):
self.li = ml
self.max = min([len(x) for x in ml])
self.cnt = 0
def __iter__(self):
return self
def next(self):
self.cnt += 1
if self.cnt > self.max:
raise StopIteration
return [x[self.cnt-1] for x in self.li]
使い方は以下
ddd=['d','e','f']
for x,y in multilist(abc,ddd):
print x,y
> a x
> b y
> c z
read comments (2)pythonでアルファベットリストを生成する
Author: あきを
pythonでアルファベットリストを生成する
abc = [chr(x) for x in range(65, 91)] # Result: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] #
よく考えたら毎回生成しないでもいいのか…
MEL sortをpythonでラップ
Author: あきを
MELのsortが思った通りの動きをしないときが
あったのでpythonでラッピングしてみた
global proc string[] pysort(string $array[]){
python("strArray = '"+`stringArrayToString $array " "`+"'.split()¥nstrArray.sort()");
return python("strArray");
}
電車の中なのでpython CEでしか動作確認してませんが
大体こんな感じ
新しいRendererを作るか
Author: あきを
昨日はPython Coode Reading にいく予定だったのですが
仕事で都合がつかず。ノートPCもちゃんと持ってきたのになぁ。無念。
まぁ いいさ 来週作業の展望が開けたし
さて仕事が忙しくなってきたので、何か作りたくなってきた(w
ほとんど放置しているscadinaviaは、勉強しながら作っていたので
スパゲッティ化し、もう手を入れるのも面倒くさい
それなら、新しいレンダラを作ろう!
今度のレンダラはデバッグしやすいシンプルな構造にしていこう
そういう訳でまずは設計書作るか
pymel
Author: あきを
Pymel Python Module - Syntax / Scripting Tools for Maya
http://www.highend3d.com/maya/downloads/tools/syntax_scripting/Pymel-4844.html
maya pyhtonのラッパー
maya pythonをよりpythonぽい書き方でかけます
maya python:
import maya.cmds as mc nodes = mc.ls(sl=1) mc.connectAttr(nodes[0]+".sx", nodes[1]+".sx") pos = mc.getAttr(nodes[0]+".t") mc.setAttr(nodes[1]+".t", pos[0][0], pos[0][1], pos[0][2])
pymel:
from pymel import * nodes=ls(sl=1) nodes[0].sx >> nodes[1].sx pos = nodes[0].translate.get() nodes[1].translate = pos
うん、mayaPythonでgetAttrしたときタプルの中の配列として返すのは仕様としておかしいと思うわ
便利なのは分かるんですけど
こういうものってデフォルトで用意されてないと仕事で使う気がしないんですよねー
でもこの書き方はかなり魅力的
オブジェクトのメソッドでgetとかsetとかするのがやっぱりしっくりくるし
connectAttrの書き方も直感的で良いです
昨日は久々にたくさんのコードを書いた。
UIをゼロから作ったんで無駄にformLayoutに行数かかっただけなんだけど
なんとも無駄な事をしているなぁ
とにかくキーボードを打つ回数を減らしたい
