を使用するrandom.choice()
には、文字列をリストに変換する必要があります。
>>> x = "hello"
>>> y = list(x)
>>> y
['h', 'e', 'l', 'l', 'o']
しかし、それを逆に行おうとすると、実際には のように見える文字列が生成され['h', 'e', 'l', 'l', 'o']
ますhello
。これを繰り返し行うと、次のような文字列を生成する無限ループが発生します。
"'", '"', ',', ' ', "'", ',', "'", ',', ' ', "'", ' ', "'", ',', ' ', "'", '"', "'", ',', ' ', '"', "'", '"', ',', ' ', "'", '"', "'", ',', ' ', "'", ',', "'", ',', ' ', "'", ' ', "'", ',', ' ', '"', "'", '"', ',', ' ', "'", ',', "'", ',', ' ', '"', "'", '"', ',', ' ', "'", ',', "'", ',', ' ', "'", ' ', "'", ',', ' '
等々。
では、リストを文字列に変換するにはどうすればよいですか。
>>> x = ['x', 'y', 'z']
>>> y = something(x)
>>> y
'xyz'