0

私は新しいプログラマーです!Python を使い始めたばかりで、とても気に入っています。しかし今、私は理解できないように見える特定のエラーに出くわしました。

ここで正確なコードを投稿するつもりはありませんが、これが基本的な考え方です。

編集されたコードは次のとおりです。

def function(parameter1, parameter2):
return parameter1[parameter2 + 1:]

parameter1 に数値を使用すると、正常に実行されます。次に例を示します。

function([5,6,7,8,9], 3)

しかし、次のような文字と数字を使用する場合:

function("ABC34",3)

エラーが発生します:

builtins.TypeError: Can't convert 'list' object to str implicitly

編集:

わかりましたので、基本的に次のような出力を探しています。

 function([0,11,42,53,74,59,62,70,81,98], 3)

出力は次のようになります。

[74, 59, 62, 70, 81, 98, 53, 0, 11, 42]

今、以下のコメントを読んで、私が探しているものをスライスしても生成できないのではないかと考えています??

4

2 に答える 2

2

文字列はリストと同じように反復可能です。したがって、関数の各部分が文字列に対して行っていることに分解します。

左:

#parameter1[parameter2 + 1:]

'abc34'[3+1:]
Out[13]: '4'

真ん中:

#[parameter2]

[3]
Out[14]: [3]

右:

#parameter1[:parameter2]

'abc34'[:3]
Out[15]: 'abc'

そして、python はどうすればよいか分からないことがわかります'4' + [3]

于 2013-10-17T19:04:51.720 に答える
0

(n python 2.7.3 少し役立つエラーが表示されます:

TypeError: cannot concatenate 'str' and 'list' objects

[parameter2]問題は、 (整数リスト) をparameter1[parameter2 + 1:](が文字列のときに文字列である) に連結できないことですparameter1

文字列はスライスできますが、文字配列と完全に交換できるわけではありません。

于 2013-10-17T19:06:24.583 に答える