Python の listや文字列を逆順に並べる方法には、下記の2種類があります。
- 元のlistの順序を保持しない: reverse()
- 元のlistの順序を保持する: reversed()、リストのインデックス
元のlistの順序を保持しない: reverse()
test_list = [1, 2, 3, 4]
test_list.reverse()
print(test_list)
# [4, 3, 2, 1]
元のlistの順序を保持する: reversed()
reversed() はイテレータを返すので、list() を使用して、リストに変換する必要があります。
test_list = [1, 2, 3, 4]
rev_list = list(reversed(test_list))
print(rev_list)
# [4, 3, 2, 1]
print(test_list)
# [1, 2, 3, 4]
文字列の場合は、for文でイテレータの中身を取り出す必要があります。
test_str = "abc"
reverse = reversed(test_str)
for i in reverse:
print(i, end="")
# bac
else:
print("")
print(test_str)
### abc
また、リストのインデックスを使用しても実現可能です。
test_list = [1, 2, 3]
rev_s = test_list[::-1]
print(test_list)
# 123
print(rev_s)
# 321
test_str = "abc"
rev_s = test_str[::-1]
print(test_str)
# abc
print(rev_s)
# cba
コメント