次のようなデータ構造から始めたいと思います。
[[0, 12, 25, 45, 65, 100],
[0, 0, 0, 255, 255, 255],
[0, 0, 255, 255, 0, 0],
[255, 255, 0, 0, 0, 0]]
に:
[[0, 12, 12, 25, 25, 45, 45, 65, 65, 100],
[0, 0, 0, 0, 0, 255, 255, 255, 255, 255],
[0, 0, 0, 255, 255, 255, 255, 0, 0, 0],
[255, 255, 255, 0, 0, 0, 0, 0, 0, 0]]
(最初と最後の列を除くすべての列が繰り返されます)。
私は機能する次のリスト内包を持っています:
[[l[0]] + [x for sl in [[i, i] for i in l[1:-1]] for x in sl] + [l[-1]] for l in list_of_lists]
しかし、これを書くためのよりエレガントで読みやすい方法があるかどうか疑問に思いました。