ドキュメントでのスライスの例では、インデックスとして使用される整数リテラルと変数のみが示され、より複雑な式(例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]
他の合理的なオプションはないようです)?
質問する
276 次
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 に答える