pythonでリスト中の数値を文字列に変換する際はprint("".join(list(map(str, ans))))
のようにした方が処理が早そうな印象
例えば、数値を含むリスト(ans = [1]*100000
)を連結した1つ文字列として出力したい場合
以下のように*10
を足すような処理した場合は、、1secほど掛かる
test.py
ans = [1]*100000
val = 0
for ii in range(len(ans)):
val = val*10 + ans[ii]
print(val)
$ python test.py
real 0m1.147s
user 0m1.124s
sys 0m0.013s
以下のように.join
により処理した場合は、、0.02secほど掛かる
test.py
ans = [1]*10000000
print("".join(list(map(str, ans))))
$ python test.py
real 0m0.027s
user 0m0.020s
sys 0m0.010s
print("".join(list(map(str, ans))))
が使えると便利そうな印象