0

私はこのプログラミングとPythonのすべてにかなり慣れていません。そこで、スプライシングの方法について質問がありました。

コードは次のとおりです。

function(seq, n)
return seq[:n]

私がそれで何をしたいのかを説明するのは難しいですが、これは出力がどのように見えるべきかです. 賢い人なら理解してくれると思います。

function([5, 3, 7, 2, 8], 3)

出力:

[8, 2, 5, 3, 7]

また

function("ACEJY3529",4)

出力:

'3529YACEJ'

ポジションを交換するようなものです...

問題は、このコードは整数で正常に動作することです...しかし、文字列を使用するとクラッシュします...

4

1 に答える 1

0

最も一般的な方法は、個々のアイテムではなく、常にスライスを処理することです。次に例を示します。

def function(seq, n):
    return seq[n+1:] + seq[n:n+1] + seq[:n]
                       ^^^^^^^^^^

反復不可能な単一の項目ではなく、常に長さ 1 の反復可能なものにします。

于 2013-10-20T17:17:00.767 に答える