Luaの場合:
function table.reverse(tbl) local len = #tbl local temp = {} for i = len, 1, -1 do temp[#temp+1] = tbl[i] end return temp end -- test -- do local lst = {"a", "b", "c", "d"} local rev = table.reverse(lst) print(table.concat(rev, ", ")) end
実行結果:
―――――――――――――――――――――――――――――――――――
Pythonの場合:
理窟はわからないがスライスでいける。
lst = ["a", "b", "c", "d"] lst[::-1]
実行結果:
―――――――――――――――――――――――――――――――――――
2018年10月1日、理窟がわかった。
lst[:]
にするとリスト全体([0]から1周して[0]まで)がスライスされる。
lst[::-1]
にするとリストの全部の要素が-1
個飛びで(要するに末尾から1個ずつさかのぼって)抽出されて新たなリストが作られる。