2012年9月15日土曜日

Pythonの多次元配列の初期化うんぬん

リーグテーブルを作りたくなって、その中で多次元配列をいじりたいな~って思ったので、 お得意(最近たたいてるだけ)のPythonで書いてみました。
とりあえず
table = [[''] * number] * number
for table_i in range(number):
    for table_j in range(number):
 print table_i,' : ',table_j
 if table_i == table_j:
  table[table_i][table_j] = '-'
 else:
         table[table_i][table_j] = {'result':'','score':''}
ってすれば初期化できるみたいなのでやってみたところ...
[[{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-'],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-'],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-'],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-'],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-']]
...なんか思ってるのと違くね?まあいいか、次は試合結果の代入だ。
[[{'result': 'l', 'score': '1-2'},
  {'result': 'w', 'score': '2-1'},
  {'result': 'd', 'score': '1-1'},
  {'result': 'd', 'score': '1-1'},
  '-'],
 [{'result': 'l', 'score': '1-2'},
  {'result': 'w', 'score': '2-1'},
  {'result': 'd', 'score': '1-1'},
  {'result': 'd', 'score': '1-1'},
  '-'],
 [{'result': 'l', 'score': '1-2'},
  {'result': 'w', 'score': '2-1'},
  {'result': 'd', 'score': '1-1'},
  {'result': 'd', 'score': '1-1'},
  '-'],
 [{'result': 'l', 'score': '1-2'},
  {'result': 'w', 'score': '2-1'},
  {'result': 'd', 'score': '1-1'},
  {'result': 'd', 'score': '1-1'},
  '-'],
 [{'result': 'l', 'score': '1-2'},
  {'result': 'w', 'score': '2-1'},
  {'result': 'd', 'score': '1-1'},
  {'result': 'd', 'score': '1-1'},
  '-']]
はい!全然ダメ!どうしたもんか..と調べてると「掛け算だと配列同士に参照関係が作られてしまうので、思った通りのた次元配列にはならない」ということを発見した。同時に「内包表記で定義すると幸せになれる」とも書いてある。やってみよう!
初期化:

[['-',
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''}],
 [{'result': '', 'score': ''},
  '-',
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''}],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-',
  {'result': '', 'score': ''},
  {'result': '', 'score': ''}],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-',
  {'result': '', 'score': ''}],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-']]
試合結果代入後:
[['-',
  {'result': 'w', 'score': '2-1'},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''}],
 [{'result': 'l', 'score': '1-2'},
  '-',
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''}],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-',
  {'result': '', 'score': ''},
  {'result': '', 'score': ''}],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-',
  {'result': '', 'score': ''}],
 [{'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  {'result': '', 'score': ''},
  '-']]
上手く行ったぜ!これで一安心。 余談ですがこのPCだと多次元配列が「た次元配列」になっていらいらした。(笑)

2012年9月14日金曜日

gihubでプロキシの設定をする

前々から研究室からgithubに繋ぎたいな~って思っていたので試に普通にコミットしてみた。
$ git add *
$ git commit -m "hogehoge"
$ git remote add origin https://github.com/username/repositry.git
$ git push origin master
error: Couldn't resolve proxy '(null)' while accessing https://github.com/username/repositry.git\info\refs
fatal: HTTP request failed
なんじゃこれ?
自分のgithubページに行って確認してもアップされてない...orz
でもよくよく考えてみたら設定もしてないのにプロキシの中から外にアクセスできるわけがないじゃん。
なのでネットを調べてみたら
$ git config --global http.proxy "proxy-host:port_number"
で設定できるというのでやってみた...できねえ あーもう!ってなったのでまた調べてみると このお方のブログ記事に「今どきはちゃんと"http://"もつけなきゃだめよ~」って書いてあったので、そうしてみた。
...動くよ~!!!

最初の記事にしてはあまりに初歩的でしたが、こんなことが続いていくと思います。

2012年9月8日土曜日

Hello World!

このブログは私の個人的な意見で他のSNSに書ききれないことを書いていきます。

サッカーについて深く考えてみたり、
ITやプログラミングについていろいろ試してみたり、
ファッションについて調べてみたり、
とりとめのないことになるはずです。

ちなみに
サッカーはTottenham Hotspurのファン、
IT・プログラミングはPython、PHP、Haskell(入門以下)なんかを勉強中、
ファッションはTabloid NewsとRalph Laurenが好き

かわいがってください。