0

私はかなり単純なことをしようとしています: リストから最後の 40 要素を取得する必要があります。

標準関数の 1 つを使用して文字列から最後の n 文字を取得する、文字列で行うような直接的な方法はないことに気付きました。

リストの長さを取得する方法を知っています。私が念頭に置いていたのは、最大長を使用して、リストの最後から for ループを実行し、80 回逆行することです。

max_size= len(my_list)

for i in range(max_size, (maxsize-80)):
    print my_list[i]
    i=i-1

これは正しい方法ですか?それとも、これを行う可能性のあるリストオブジェクトに何らかの関数がありますか? Python サイトのドキュメントを試してみましたが、うまくいきませんでした。

4

3 に答える 3

2

my_list[-40:]最後の 40 項目が含まれます。具体的には、負のリスト インデックスは、リストの最後からその数のアイテムを数え始めるように指示し、その後のコロンは最後まで続けるように指示します。

于 2013-02-20T00:54:47.837 に答える
1
for i in my_list[-40:]:
    print(i)
于 2013-02-20T00:54:40.800 に答える
0

スライスは、指摘されているようにあなたが望むものです。反復可能である場合(つまり、長さがない/前方にしか読み取れない場合):可能性があります。

>>> from collections import deque
>>> deque(range(10), 2)
deque([8, 9], maxlen=2)
于 2013-02-20T01:09:58.410 に答える