2番目の最後の数字(x[1]
)と、リスト内のさまざまな項目の他の数字(list
)の差を計算します。リストのデータはどのように取り出すことができますか?
リストの最初の項目は、19-13(= 6)、19-16および19-19である必要があります。問題は、リストの項目が3または4(時には5/6)の数字で構成されていることです。
list = [([(13, 400), (14, 700), (19, 700)], 19, 1800),
([(24, 250), (28, 650), (35, 100), (43, 600)], 43, 1600),
([(46, 450), (48, 600), (78, 450)], 78, 1500),
([(79, 650), (88, 400), (92, 600), (96, 50)], 98, 1700)]
1= []
for x in list:
1.append(x[0][0][0])
print "1", 1
2= []
for xin list:
2.append(x[0][1][0])
print "2", 2
3= []
for xin list:
3.append(x[0][2][0])
print "3", 3
4= []
for xin list:
4.append(x[0][3][0])
print "4", 4
time= []
for xin list:
time.append(x[1])
print time
結果:
1 [13, 24, 46, 79]
2 [14, 28, 48, 88]
3 [19, 35, 78, 92]
Traceback (most recent call last):
File "test.py", line 26, in <module>
4.append(order[0][3][0])
IndexError: list index out of range
リストは以下の4つの項目で構成項目で構成されている場合、エラーがのみ表示されます。そのため、の[3]
には「空のアイテム」があります。
ありがとうございましたnigel222、どちらも機能しましたが、私はあなたの最初の提案を使用しました。機能:
for x in list:
if len(x[0]) >= 4:
4.append(x[0][3][0])
else:
fourthorder.append(order[1])
その後私はXとの間の差を計算する[1]及び4に示し、そう他の場合:私は他の使用された同じ長さの2つのリストを作成するために使用されるが、X [1] -X [1]は0を返します。
あなたのコードには、これらの相違点が計算され、保存されている場所や、それに対応する項目のうち、「提供されたもの」の数に応じて、どのようなものが必要かは示されません。あなたの質問を編集し、このコードと情報を追加してください。 – martineau
「1」、「2」などの名前の変数は使用できません。変数名はアルファベット文字で始まる必要があります。 – martineau