pythonでデータのランダムシャッフル

pythonでデータのランダムシャッフル。

入力ファイル
1
2
3
4
5

出力ファイル
1,3
2,4
3,2
4,1
5,5

コード:

 import random
 import sys

 file=sys.argv[1]
 #print file
 

 a=[]
 #ファイル読み込み
 for line in open(file,'r'):
         a.append(line.strip("\n"))

 #配列のコピー、b=aではだめ。
 a_moto=a[:]
 #ランダムシャッフル
 random.shuffle(a)

 #カンマ区切りで出力
 for str1,str2 in zip(a_moto,a):
         print str1+","+str2


ファイル入力の部分を一行にまとめる。

import random
import sys

file=sys.argv[1]
a=open(file,'r').readlines()
b=a[:]
random.shuffle(a)
j=0;
for str in b:
        print str.strip("\n")+","+a[j].strip("\n")
        j=j+1;


乱数モジュールの説明
http://www.python.jp/doc/2.4/lib/module-random.html

ランダムモジュールの使い方
http://www.yukun.info/blog/2008/06/python-random.html

コマンドライン引数
http://www.yukun.info/blog/2008/07/python-command-line-arguments.html

文字列処理の比較
http://0xcc.net/blog/archives/000137.html

CSVファイルの読み取り
http://mitsukuni.org/blog/2009/07/10/pythoncsvファイルを読み込む/

ファイルの読み込み
http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/python/readfile.html

ファイル読み込み2
http://www40.atwiki.jp/geiinbashoku/pages/24.html