2017-07-18 8 views
0
My Date = 2015-07-30 
      2015-07-31 
      2015-08-03 
      2015-08-04 
      2015-08-05 
      2015-08-06 
      2015-08-07 
      2015-08-10 
      2015-08-11 
      2015-08-12 
      2015-08-13 
      2015-08-14 

ここから2番目の日付をどのように呼び出すことができますか? これを試しましたが、これはうまくいきません。PythonでDatesのリストのn番目の要素を呼び出す方法は?

for i in range(0, len(Date), 2): 
     abc = Date[i] 
+2

'MyDate'は何ですか?リスト?さらに、あなたは「電話」をどういう意味ですか?予想される出力は何ですか? –

+2

擬似コードを実際のPythonに置き換えることを検討してください。 –

+0

私の日付はリストです。予想される出力は、2015-07-31,2015-08-04,2015-08-06などのように2番目の日付です。 –

答えて

5

あなたのリストから、他のすべての日付(インデックス0、2、4、...)を取得し、これを書くことができます。

Date[::2] 

はインデックス1、3(他の日付を取得するには、 ...)、あなたが書くことができます。

Date[1::2] 

あなたはスライス表記の説明については、このanswerで見ることができます。

Dateがリストであるので、あなたはそれがコレクションだ示すためにdatesそれを呼び出すこともできます:list comprehensionを使用して

dates = """2015-07-30 
2015-07-31 
2015-08-03 
2015-08-04 
2015-08-05 
2015-08-06 
2015-08-07 
2015-08-10 
2015-08-11 
2015-08-12 
2015-08-13 
2015-08-14""".split() 
print(dates[::2]) 
# ['2015-07-30', '2015-08-03', '2015-08-05', '2015-08-07', '2015-08-11', '2015-08-13'] 
print(dates[1::2]) 
# ['2015-07-31', '2015-08-04', '2015-08-06', '2015-08-10', '2015-08-12', '2015-08-14'] 
+0

ありがとう!私はこれを試してみる。 –

1
my_dates = ['2015-07-30', '2015-07-31', '2015-08-03', '2015-08-04', '2015-08-05', '2015-08-06', '2015-08-07', '2015-08-10', '2015-08-11', '2015-08-12', '2015-08-13', '2015-08-14'] 

は:

print([my_dates[i] for i in range(1, len(my_dates), 2)]) 

が出力:

['2015-07-31', '2015-08-04', '2015-08-06', '2015-08-10', '2015-08-12', '2015-08-14'] 
上記のサンプルコードについて

、あなたが1として開始インデックスを交換し、印刷により観察することができます:

for i in range(1, len(my_dates), 2): 
    abc = my_dates[i] 
    print(abc) 
+0

ありがとうございます。できます。 –

+0

@ S.A素晴らしい!他の答えはもっと簡単で効率的だと思いますが、サンプルコードでエラーを修正しようとしました。 'ハッピーコーディング.' – 0p3n5ourcE

関連する問題