6

ドキュメントでのスライスの例では、インデックスとして使用される整数リテラルと変数のみが示され、より複雑な式(例myarray[x/3+2:x/2+3:2])は示されていません。PEP-8もこのケースをカバーしていません。ここでの空白の通常の使用法は何ですか:、、、myarray[x/3+2:x/2+3:2]またはmyarray[x/3+2 : x/2+3 : 2]myarray[x/3+2: x/2+3: 2]他の合理的なオプションはないようです)?

4

2 に答える 2

7

スライス操作で使用されるスペースを見たことがないので、スペースを避ける側で間違いを犯します。繰り返しになりますが、パフォーマンスが重要でない限り、式をスライス操作の外に移動する傾向があります。結局のところ、あなたの目標は読みやすさです:

lower = x / 3 + 2
upper = x / 2 + 3
myarray[lower:upper:2]
于 2012-12-12T15:08:34.130 に答える
3

この件に関する PEP8 の最も関連性の高い抜粋は次のとおりだと思います。

ここで提供されるガイドラインは、コードの可読性を向上させ、幅広い Python コードにわたって一貫性を持たせることを目的としています。

この場合、私の個人的な選択は、おそらくスティーブ・メインの答えか、おそらく次のいずれかになります。

myarray[slice(x / 3 + 2, x / 2 + 3, 2)]
于 2012-12-12T15:15:27.810 に答える