接尾辞配列 - Wikipediaを見ながら書いたのだけど、どう使うのかよく分かってない。 function SuffixArray(str) [str.substr(i) for(i in xrange(str.length))].sort(); function xrange(start, end, step) { if (typeof end != "number") [start, end] = [0…
検索しないで自分で考えたら、下のようなのができた。均等にランダムになるといいな。自信ない。 function shuffle(list) { var mark = {}, ret = [], max = list.length, n = null; while (max--) { n = Math.random() * max | 0; while (n in mark) n = ma…
追記:from random import shuffle from random import random shuffle = lambda lis: [i[1] for i in sorted([[random(), i] for i in lis], lambda x, y: cmp(x[0], y[0]))] shuffle(range(10)) # [9, 1, 2, 3, 0, 8, 7, 5, 6, 4] list#sortは破壊的なので…
追記:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1pre) Gecko/20080926210429 Minefield/3.1b1preで、window.Function == Functionがtrueになり、それにともないLivedoorReaderも普通に動くようになりました。下のスクリプトはもう…
imgフォルダ以下にダウンロード。 #!/usr/bin/env python import urllib2 import urllib import urlparse import os import time from BeautifulSoup import BeautifulSoup BASE_URL = "http://4u.straightline.jp/?page=" if not os.path.isdir("img"): os.…
一回目に実行した時に上書きすればできるみたい。 def power(*args): memo = {} def tmp(n): if n in memo: print "memoized" ret = memo[n] else: ret = 0 for i in range(n): ret += n memo[n] = ret return memo[n] global power power = tmp return powe…
function calc(a,b,c,d){ var all = [add, sub, mul, div]; var r = []; all.forEach(function(op1){ all.forEach(function(op2){ all.forEach(function(op3){ if (op3(op2(op1(a, b), c), d) == 10){ r.push("((" + a + op2s(op1) + b + ")" + op2s(op2) + …
連想配列のキーに使えないものが配列の要素に入ってると駄目だろうけど、数値とか文字列とかTupleなら動くと思う。 def uniq(lis): done = {} for it in lis: if it not in done: done[it] = True yield it [i for i in uniq([3, 4, 2, 1, 3, 4, 6, 8, 1])] …
ついさっきPythonをはじめた(教わった)ので、FizzBuzzを書いた。 for i in range(1, 100 + 1): if i % 15 == 0: print "FizzBuzz" else: if i % 3 == 0: print "Fizz" else: if i % 5 == 0: print "Buzz" else: print i sudo easy_install ipython して、ipy…
下のようにする。yieldとかgetPrototypeOfとか使ってるので、最近のFirefoxでしか動かないと思う。 let __proto__ = Object.getPrototypeOf( function dummy(){yield;}()); __proto__.toArray = function() [i for(i in this)]; function range(start, end){…
Array.prototype.__iterator__ = function(isKey) { var self = this; return (isKey ? i[0] : i[1] for (i in new Iterator(self))); }; for(var i in [1, 2, 3]) console.log(i); // 0, 1, 2 これで、Arrayに対しても安心してfor..inを使うことができる。…
関数内からグローバル変数を設定したい場合、 var global; (function(){ global = 42; })(); とする事ができる。 ただし、グローバル以外にも同じ名前の物があると使えない。 var $; (function(){ $ = $; function $(id){ return document.getElementById(id…
document.getElementsByTagName("head")[0] .appendChild( document.createElement("script")) .src = "http://wedata.net/databases/AutoPagerize/items.json?callback=callback"; function callback(siteinfo) { console.time("siteinfo"); for (var i = 0…