リスト1には、部品番号(一意ではない)、注文番号(空白)、ジョブ番号(空白)、色、数量フィールドの2つのリストがあります。リスト2には、部品番号(一意)、注文番号、およびジョブ番号フィールドがあります。私は(部品番号を照合することによって)リスト2からの情報に基づいて、リスト1に注文番号とジョブ番号を記入する必要がPython - リストの比較/照合
リスト1(mainlist)
部品番号(BM001)、 注文番号(EMPTY)(EMPTY)、 ジョブ番号、 色(黒)、(2)
部品番号(BM001) 数量、 注文番号(EMPTY)、(EMPTY) 仕事#、 カラー(レッド)、 数量(4)
部品番号(BM002)、(EMPTY) 注文番号、(EMPTY) 仕事#、 色(緑)、 数量(5)
リスト2(valueslist)
部品番号(BM001)、 注文番号(26534)、 ジョブ#(75)
部品番号(BM002)、 注文番号(26535)、 ジョブ#(76)
望ましい結果(
部品番号(BM001)、 注文番号(26534)、 ジョブ#(75)、 色(私だけで満たされた注文番号とジョブ#で、リスト1を必要とします)ブラック)、 数量(2)
部品番号(BM001)、注文番号(26534)、仕事(#75)、色(赤)、数量(4)
部品番号(BM002)、注文#(26535)、ジョブ番号(76)、カラー(グリーン)、数量(5)
ここまでは私のコードですが(下記参照)、データが正しく一致していません。私は、これを行うのがより簡単で(より効率的な)方法があると仮定していますが、この時点で私は立ち往生しています。
注:これはPythonを使用してRevit APIにアクセスするDynamo/Revit内にあります。
ありがとうございます。
dataEnteringNode = IN
mainlist=IN[0]
valueslist=IN[1]
outlist=[]
for i in mainlist:
#Part #
item0=i[0]
#Order #
item1=""
#Job #
item2=""
#Color
item3=i[3]
#QTY.
item4=i[4]
for j in valueslist:
#Job # and Task #
if (i[0] == j[0]):
item1=j[1]
item2=j[2]
#Write Data
outlist.append(item0)
outlist.append(item1)
outlist.append(item2)
outlist.append(item3)
outlist.append(item4)
#Assign your output to the OUT variable.
OUT = outlist
リストに変換し、その後、Pythonの辞書を使っていますか?リストにはPythonでは「フィールド」がありませんので、具体的に記述してください。 –
なぜ '#Part ... item0 = i [0]'を使用して、変数 'part'に名前を付けてコメントを削除するのですか? – MSeifert