2012年11月29日木曜日

複数リストの各要素の平均値

複数リストの対応する要素同士に対していっぺんに処理をしたい。
リストの内包表記を使ってみた。

listA = [1.0, 2.0, 3.0]
listB = [4.0, 5.0, 6.0]
# 各要素の平均を取る。
M = [(x+y)/2 for count_x,x in enumerate(listA) for count_y,y in enumerate(listB) if count_x==count_y]
# 各要素を掛け合わせた値
N = [x*y for count_x,x in enumerate(listA) for count_y,y in enumerate(listB) if count_x==count_y]

結果:
M = [2.5, 3.5, 4.5]
N = [4.0, 10.0, 18.0]
特に後者は、ベクトルの内積を取るような時に使えるのかな、と思ったり。

Pythonのソート


Pythonでdict型のデータを作った時、キーではなく値でソートしたかった時に調べたメモ。

list.sort()とsorted()

x = [1,9,2,0,7]
y = [1,9,2,0,7]
x.sort()
x
sorted(y)
結果:sort()関数ではリスト自体が変更される。
x = [0,1,2,7,9]
y = [1,9,2,0,7]

というわけで、今回はsorted()を使ってリスト自体は変更しなかった。

dic = {"Yamada":"10", "Takeda":"50", "Itoh": "30", "Kinoshita": "20"}

結果:
dic = {'Kinoshita': '20', 'Takeda': '50', 'Yamada': '10', 'Itoh': '30'}
sorted(dic.items(), cmp=lambda x, y:cmp(int(x), int(y)), key=lambda x:x[1], reverse=True)
= [('Takeda', '50'), ('Itoh', '30'), ('Kinoshita', '20'), ('Yamada', '10')]

key=lambda x:x[1]のところで、どのオブジェクトで比較するのか指定できる。今回はx[1]と指定して、値で比較できる様になった。
cmp引数についても、比較するための関数を定義することで、文字列として与えられた数値をintに変換して比較できている。

参考URL: http://mglab.blogspot.jp/2008/06/python-sortsorted_3738.html

2012年10月10日水曜日

世界は回る、僕がいようといなくとも。でも僕はここにいて、ここで頑張る。


またまた、久しぶりの更新。
今週末合宿でお会いしたKさんに触発されたというのもあり、またおそらく長文を書こうと意気込みすぎると長続きしないと分かったので、無理せずにつらつらと。

交換留学先のスイスから帰国して早1か月強。9月最初の10日間は、夢のように幸せな時間を過ごし、その後は、ドイツ語検定B2というプチイベントをはさみつつ(合格してよかった)、一応研究室に行って研究の方向性を考えていた。データの提示順序に応じたアイデアの質の研究、というのが目下念頭にあるワードだけど、果たしてうまく研究にできるのか。というか、どうせなので一度くらい国際学会とかでも発表してみたいもんだ。。。できればヨーロッパで。

10月に入ると授業が始まるが、単位はほぼ揃っている(+留学時のものが使える)ので、今学期は1、2コマしか取らずに研究をすると思う。ドイツ語やComputer Science関係の授業があれば取りたかったけど。去年同期が取っていて面白そうだった「メディア情報学」は見当たらなかった。就活も、多少は手を動かしてみようと思う。

ここ2回の週末は、それぞれ別の意味でお世話になった組織での合宿に参加させてもらった。

9月末は、本郷時代に入ったバドミントンサークルの秋合宿。毎年、ここで運営(執行)の代替わりが行われている。自分が執行をしていたのはもう2年前になるが、その時に新入生として来てくれた人たちや、自分の下の代の人が勧誘してくれた人たちが役目を立派に果たして引退する勇姿を見るのは、なかなか感慨深いものがある。もっとも、彼らが執行をしている間自分はスイスで留学していたので、最後の最後だけ顔を出した感じなのだが。同期と旧交(というほど時間は経ってないけど)を温めたこと、何人かの先輩たちときちんとお話できたこと(一方できちんとお話できなかった方も多いが)、引退する期の人たちからスピーチ後の乾杯に呼ばれなかったこと(練習に1回しか行かずに呼ばれるようなミラクルはさすがに無理でしたw)が印象的であった。

10月最初の3連休は、学部時代に奨学金を頂いた財団の秋合宿。こちらは、年に一度、現役生+お手伝いのOB/OG数名が読書会や人生設計の討論などをしたり、交流を深めたりする場。学部時代には、先輩・同期・後輩の優秀さ・輝かしさに打ちのめされつつも、なんとか自分なりに頑張った記憶がある。今回は、社会経験はないながらも初めてOBとして参加させて頂いた。OBとして本領を発揮するべきだったのは、「あなたの知らない世界」と題するOB/OGスピーチ(ちらっと話に出た「チャンス発見学」に興味のある方は、こちらをどうぞ。http://www.panda.sys.t.u-tokyo.ac.jp/ )、現役生の討論会でのファシリテーション、懇親会、3日目のゲームの企画実行、がメインだったと思う。しかし、言うほど簡単ではなかった。辛うじて及第点かなと思えるゲームの企画実行に関しても、先輩OB/OGにご心配をかけた(結果オーライではあったけども)。別に不必要にネガティブになっているわけではない。反省はしているが、自分が現役生の時にOB/OGの方々に期待していた働きを、今の自分ができていなかった、という事実に思い至っただけだ。つまり、現状辛かろうが幸せだろうが、自分が選んで来た道と今後選ぶであろう道に対して自信を持っていて、自分の立ち位置から見えるものをしっかりと後輩に伝える事で、何らかの示唆を与えることは、3連休中の自分には完璧にはできなかったことだ。「示唆を与える」ことができたかどうかは自分が判断することではないが、「今後選ぶ道に対して自信を持ち、自分の立ち位置から見えるものをしっかりと伝える」というのは、やはりしばらく自分が目指していくべきものだと思う。同期のS君とも夕日で染まる海岸沿いで話したが、人生における長期的目標を具体的なレベルで示すのは自分には難しかった。多くの人のペーパーを読んでいても、ありきたりな(抽象的な)記述に留まってしまうように思える。自分はその事自体に「負い目」を感じて学部時代を過ごしてきたが、「負い目」を感じて動かないよりは、目の前の事をきちんとこなすことによって、少なからず何か見えてくることを信じてもいいのではないか。「一生この仕事を頑張って行きたい」と言える人は幸せかもしれないが、それを見て卑屈になると、話が全く進まない。研究にしても就活にしても、9月後半少し手を動かしただけで、多少は見えて来たものもある。ある意味、OBとして本領を発揮できるのは、もうちょっと先のことなのかもしれないと思った3連休だった。

それにしても、自分は後輩の面倒を見るのが苦手なのかもしれない。好きなのだけども。それ相応の「余裕」を持ち合わせていないのかもしれない。上に書いた様な愚痴ばっかり聞かされても後輩は寄ってこないと思うので、面と向かって話す時は、なるべく明るく振る舞う様にしている。後輩のYさんに「そんな風に悩んでるとは知らなかった」と言われたこともあるので、まあある程度は成功してるんだ、と思いたい(笑)

* Facebook連携、うまくいくのかな。。。

2012年5月22日火曜日

ことば2

また間隔が随分空いてしまった。。。ほぼ半年ですか(笑)
bloggerのUIが結構変わっている。
今日は祝日でも何でもなく、普通の月曜日だけど、こういう記事をたまたま見かけて、何か書こうかなと思った(単純なんです)。

どうやったら質問を思いつけるの?

詳細には立ち入らないけど、この方のエントリを興味深く読ませてもらった。
言葉の使い方、メモの取り方っていう方法論もそうだけど、
質問の仕方によって答えが違うという事実を明確に意識していたか、微妙。
今学期は授業も来週で終わってしまうけど、気をつけてみたい。

そもそも半年振りに自分のブログのページに飛んで来たのは(と言いながら多少後付け感はあるけど)、最近人と話す機会が少なかったというのが一つ。
セメスタープロジェクトをやっているけど個人作業の要素が大きく、授業も(上述の様に心がけ次第だけど)発言の機会は少ない。タンデムとか友人で集まる際にはもちろん話すけど、自分が伝えるべきテーマを熱意を持って伝える、また相手のそれに向き合う、みたいなのが足りてなかった気がした。

そういうのを、今日の授業の小プレゼンと例のブログで思い出した次第。
高々課題の進捗を発表するプレゼンで「自分の伝えるべきテーマ」とはなんぞ?という話だけども、
課題に対してこういう観察をし、こういう理由でこういうアプローチを取り、こういう結果が出た、だからどうなんだよ、っていうのをもう少し伝えられたら良かったし、他人のプレゼンに関しても、少しくらい突っ込んで行けば良かったのかもしれない。

これは些細な例だったけども、これに限らず、自分の意見を熱意を持って伝えることの難しさよ。。。

1) 自分の意見を持つこと
2) それを言葉で表現すること
3) (そこに熱意がこもること)
4) それを相手の理解できる言葉で相手に伝えること
5) 相手がそれを受け止めて理解すること

最近、4), 5)が求められないせい(せいなのか?)で1)〜3)が曖昧に済まされている気がする。トピックは特に問わないけど、自分がどう生きてどう死にたいのか、それに基づいて今何をするのが最善なのか、とか、もうちょっと軽い話とか。

まあ難しいんだけど、自分の中で思ってる事をしっかり言葉にして、自分でも理解できる形にして、相手とそれをぶつけ合っていきたい。その中で、自分のテーマなるものも明確にするしかないし、何が自分にとって最善かも分かるんだろう。

僕が僕であるために。(なんてカッコつけたけどあんまり関係ない)