開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
について、また新たな方法 、ヌジョレーボーボー、Go で少し短くできるな。https://t.co/I3icVPtUOW
— mattn (@mattn_jp) November 23, 2019
この 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 コメント:
コメントを投稿