2019年11月27日水曜日

開発環境

について、また新たな方法
この 1 element 目だけを shuffle して全体 flatten…
が加わってたからPythonで出来ないかどうかコードを書いてみた。

コード

#!/usr/bin/env python3
import random

l = [['ボ', ''],
     ['ジョ', ''],
     ['レ', 'ー'],
     ['ヌ', 'ー'],
     ['ボ', 'ー']]
print(''.join([a + l[i][1]
               for i, (a, _) in enumerate(sorted(l, key=lambda k: random.random()))]))

入出力結果(Zsh、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

% ./sample.py
ジョボヌーボーレー
% ./sample.py
ボボレーヌージョー
% ./sample.py
ヌボレーボージョー
% ./sample.py
ボボジョーヌーレー
% ./sample.py
ジョレボーボーヌー
% ./sample.py
ヌボレージョーボー
% ./sample.py
レボボージョーヌー
% ./sample.py
ボレヌーボージョー
% ./sample.py
ボボヌーレージョー
% ./sample.py
レジョヌーボーボー
%

書けたことは書けたけど、趣旨、意図と合ってるか、合ってたとして、このコードが奇麗かどうかはあまりピンときてない。もっと奇麗でPythonicな書き方があるかも。

0 コメント:

コメントを投稿