8

ユニコード値のリストがあります。私の知る限り、 list[starting location:length to select] を使用してリストから値の範囲を選択できますよね?

私は 78 個の Unicode 値のリストを持っていますが、それらはすべて一意ではありません。リストの 0 から始まる 5 つの値の範囲を選択すると (例: list[0:5])、正しい値が返されます。ただし、リストの 0 の位置から始まらない値の範囲を選択しようとすると (例: list[44:5])、[] が返されます。範囲の長さを変更しても違いはないようです。さらに、たとえば list[44] を使用すると、返される値は正しいものになります。

カーソルが 0 にないときにリストから選択できない理由がわかりません。python のリストにデータを範囲として取得する方法に制限があるかどうか教えてもらえますか? 私の問題と質問が十分に明確であることを願っています。フィードバックをいただければ幸いです。ありがとう。

4

3 に答える 3

21

list[44:49]ではなく行うべきですlist[44:5]。通常、a+1 番目のアイテムの後 (含む) 5 つのアイテムを取得する場合は、 を実行しますL[a, a+5]。「通常」は、より柔軟な方法があることを意味します: 拡張スライスを参照してください: http://docs.python.org/release/2.3/whatsnew/section-slices.html

またlist、リスト名として使用しないようにしてください。上書きしますlist()

于 2013-10-22T14:44:42.393 に答える
6

list[starting:length]ではなくlist[ starting:ending]です。

だからあなたはすべきですlist[44:49]

スライス表記の詳細については、ここをクリックしてください

于 2013-10-22T14:46:27.843 に答える
3

スライス表記[a:b]では、2 番目の値 ( b) は長さではなく、上限です。

から始まる 5 つの要素を取得するには、 (49 = 44 + 5)44を使用する必要があります。[44:49]

上限が下限よりも小さい場合、空のシーケンスが得られます。

于 2013-10-22T14:46:59.693 に答える