文字列スライスの時間複雑さとは何ですか?O(K)またはO(N)

ことができ、ヒョウ:

時間PythonのstrのスライスO(k)の複雑さやO(n)はありますか?

私が読んでいるの答えは、そのO(k)を提案するが、私はどのように理解していません。

例えば

my_str = "thisismystringfortesting"

sub_str = my_str[3:10]

私はその抽出のみ(k)の文字を理解し、しかし動作は、第1のスライスの前にリストに文字列全体を変換する必要はありませんか?私の思考プロセスは、リストに文字列全体の変換だけではO(n)をかかるだろうということです。文字列の一部だけをリストに変換される場合を除き?

説明してください缶誰かがPythonのO(K)またはO(n)の上の文字列スライスがあるので?

本当にありがとう!

ジャック・ゴーダン:

関連するコードであり、ここで、それを見ることができるようにO(k)はライン1628

result_buf = PyBytes_AS_STRING(result);
for (cur = start, i = 0; i < slicelength;cur += step, i++) {
        result_buf[i] = source_buf[cur];
}
return result;

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=399024&siteId=1