2

たとえば、リストがあります:list_a = [0,1,3,1]

このループで各番号を繰り返し処理しようとしています。リストの最後の「1」に当たった場合は、「これはリストの最後の番号です」と出力します。

1が2つあるので、リストの最後の1にアクセスする方法は何ですか?

私は試した:

 if list_a[-1] == 1:
      print "this is the last"  
   else:
     # not the last

2番目の要素も1であるため、これは機能しません。試してみました。

if list_a.index(3) == list_a[i] is True:
   print "this is the last"

2つの1があるので、また機能しませんでした

4

5 に答える 5

15

list_a[-1]最後の要素にアクセスする方法です

于 2013-03-15T19:38:31.007 に答える
7

enumerateを使用して、リスト内のアイテムとそれらのアイテムのインデックスの両方を反復処理できます。

for idx, item in enumerate(list_a):
    if idx == len(list_a) - 1:
        print item, "is the last"
    else:
        print item, "is not the last"

結果:

0 is not the last
1 is not the last
3 is not the last
1 is the last
于 2013-03-15T19:39:53.610 に答える
2

Python2.7.3でテスト済み

このソリューションは、任意のサイズのリストで機能します。

list_a = [0,1,3,1]

^私たちは定義しますlist_a

last = (len(list_a) - 1)

^リスト内の要素の数を数え、1を引きます。これは最後の要素の座標です。

print "The last variable in this list is", list_a[last]

^情報を表示します。

于 2013-03-15T19:43:16.187 に答える
0
a = [1, 2, 3, 4, 1, 'not a number']
index_of_last_number = 0

for index, item in enumerate(a):
    if type(item) == type(2):
        index_of_last_number = index

出力は4で、最後の整数の配列aのインデックスです。整数以外の型を含める場合は、type(2)をtype(2.2)などに変更できます。

于 2013-03-15T20:00:43.400 に答える
0

「1」の最後のインスタンスを確実に見つけるには、リスト内のすべてのアイテムを確認する必要があります。最後の「1」がリストの最後の項目にならない可能性があります。したがって、リストを調べて、最後に見つかったインデックスを覚えておく必要があります。そうすれば、このインデックスを使用できます。

list_a = [2, 1, 3, 4, 1, 5, 6]

lastIndex = 0

for index, item in enumerate(list_a):
    if item == 1:
        lastIndex = index

print lastIndex

出力:

4
于 2013-03-15T20:59:34.323 に答える