以下のリストの myList リストでいくつかの操作を実行しようとしていますが、それを理解するのに苦労しています。私はPythonが初めてです。
myList = [
['Issue Id','1.Completeness for OTC','Break',3275,33,33725102303,296384802,20140107],
['Issue Id','2.Validity check1 for OTC','Break',3308,0,34021487105,0,20140107],
['Issue Id','3.Validity check2 for OTC','Break',3308,0,34021487105,0,20140107],
['Issue Id','4.Completeness for RST','Break',73376,1,8.24931E+11,44690130,20140107],
['Issue Id','5.Validity check1 for RST','Break',73377,0,8.24976E+11,0,20140107],
['Liquidity','1. OTC - Null','Break',7821,0,2.28291E+11,0,20140110],
['Liquidity','2. OTC - Unmapped','Break',7778,43,2.27712E+11,579021732.8,20140110],
['Liquidity','3. RST - Null','Break',335120,0,1.01425E+12,0,20140110],
['Liquidity','4. RST - Unmapped','Break',334608,512,1.01351E+12,735465433.1,20140110],
['Liquidity','5. RST - Valid','Break',335120,0,1.01425E+12,0,20140110],
['Issue Id','1.Completeness for OTC','Break',3292,33,32397924450,306203929,20140110],
['Issue Id','2.Validity check1 for OTC','Break',3325,0,32704128379,0,20140110],
['Issue Id','3.Validity check2 for OTC','Break',3325,0,32704128379,0,20140110],
['Issue Id','4.Completeness for RST','Break',73594,3,8.5352E+11,69614602,20140110],
['Issue Id','5.Validity check1 for RST','Break',73597,0,8.5359E+11,0,20140110],
['Unlinked Silver ID','DQ','Break',3201318,176,20000000,54974.33386,20140101],
['Missing GCI','DQ','Break',3201336,158,68000000,49351.9588,20140101],
['Missing Book','DQ','Break',3192720,8774,3001000000,2740595.484,20140101],
['Matured Trades','DQ','Break',3201006,488,1371000000,152428.8348,20140101],
['Illiquid Trades','1.Completeness Check for range','Break',43122,47,88597695671,54399061.43,20140107],
['Illiquid Trades','2.Completeness Check for non','Break',39033,0,79133622401,0,20140107]
]
以下の結果を取得しようとしていますが、その方法がわかりません。
newList = [
['Issue Id','1.Completeness for OTC:2.Validity check1 for OTC:3.Validity check2 for OTC','Break',3275,33,33725102303,296384802,20140107],
['Issue Id','4.Completeness for RST:5.Validity check1 for RST','Break',73376,1,8.24931E+11,44690130,20140107],
['Liquidity','1. OTC - Null','Break:2. OTC - Unmapped','Break',7821 0,2.28291E+11,0,20140110],
['Liquidity','3. RST - Null:4. RST - Unmapped:5. RST - Valid','Break',335120,0,1.01425E+12,0,20140110],
['Issue Id','1.Completeness for OTC:2.Validity check1 for OTC:3.Validity check2 for OTC','Break',3292,33,32397924450,306203929,20140110],
['Issue Id','4.Completeness for RST:5. RST - Valid','Break',73594,3,8.5352E+11,69614602,20140110],
['Unlinked Silver ID','DQ','Break',3201318,176,20000000,54974.33386,20140101],
['Missing GCI','DQ','Break',3201336,158,68000000,49351.9588,20140101],
['Missing Book','DQ Break',3192720,8774,3001000000,2740595.484,20140101],
['Matured Trades','DQ','Break',3201006,488,1371000000,152428.8348,20140101],
['Illiquid Trades','1.Completeness Check for range','Break',43122,47,88597695671,54399061.43,20140107],
['Illiquid Trades','2.Completeness Check for non','Break',39033,0,79133622401,0,20140107]
]
newList を作成するための規則。リスト内の値が次の条件を満たしている場合、リストの newList リストに新しいリストを作成します。
myList[i][0]
andに一致myList[i][7]
するが (1) and の合計myList[i][3]
とmyList[i][4]
(2) and の合計myList[i][5]
がmyList[i][6]
互いに異なる複数のリストは、newList にそのままリストされます。myList[i][0]
(これはタイプ) と(これは日付) の両方で一致する複数のリストが同じ場合、 (1) と の合計、および (2) と の合計を持つリストのセットごとmyList[i][7]
に新しいリストを作成します。これは、他のリストとは異なります。また、一致するすべてのリストと、一致する + と + の合計を含むリストを「:」で区切って連結しようとしています。したがって、基本的にこの場合、 +と+の合計を持つリストのみが他のリストとは異なり、newList にリストされます。myList[i][0]
myList[i][7]
myList[i][3]
myList[i][4]
myList[i][5]
myList[i][6]
myList[i][0]
myList[i][7]
myList[i][1]
myList[i][0]
myList[i][7]
myList[i][3]
myList[i][4]
myList[i][5]
myList[i][6]
myList
myList[i][3]
myList[i][4]
myList[i][5]
myList[i][6]
上記の newList は、私が達成しようとしているこれらの結果を示しています。誰かがこれを行う方法を知っているなら、彼らは大歓迎です。ありがとうございました!