{"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fypooo.hatenablog.com%2Fentry%2F2026%2F04%2F26%2F230347\" title=\"Python\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306e\u305f\u3081\u306eCommon Lisp\u30b3\u30fc\u30c9\u89e3\u8aac 12 - ypooo\u2019s diary\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_url":"https://ypooo.hatenablog.com/","type":"rich","blog_title":"ypooo\u2019s diary","published":"2026-04-26 23:03:47","width":"100%","image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/y/ypooo/20260425/20260425055449.jpg","provider_url":"https://hatena.blog","author_name":"ypooo","version":"1.0","categories":["LISP"],"author_url":"https://blog.hatena.ne.jp/ypooo/","description":"12. shuffle-list \u95a2\u6570 ypooo.hatenablog.com (defun shuffle-list (list) (let ((vec (coerce list 'vector))) (loop for i from (1- (length vec)) downto 1 for j = (random (1+ i)) do (rotatef (aref vec i) (aref vec j))) (coerce vec 'list))) \u76ee\u7684: \u30d5\u30a3\u30c3\u30b7\u30e3\u30fc\u2013\u30a4\u30a7\u30fc\u30c4\uff08Fisher-Yates\uff09\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ea\u30b9\u30c8\u3092\u30e9\u30f3\u30c0\u30e0\u306b\u30b7\u30e3\u30c3\u30d5\u30eb\u3057\u307e\u3059\u3002 Lisp\u306e\u30b3\u30f3\u30bb\u2026","provider_name":"Hatena Blog","title":"Python\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306e\u305f\u3081\u306eCommon Lisp\u30b3\u30fc\u30c9\u89e3\u8aac 12","height":"190","url":"https://ypooo.hatenablog.com/entry/2026/04/26/230347"}