我想创建一个表,其中“项目代码”是主行,“查伦编号”是子行。对于每个项目,项目代码仅是一个,而Challan号仅是一个。但是相同的Challan号可用于不同的物料代码。
item_table = [('I-101', 'Wall Tiles'), ('I-102', 'Floor Tiles'), ('I-103', 'Wall Tiles')]
in_table = [('I-101', 'C-1415', 100.0), ('I-102', 'C-1469', 110.0), ('I-103', 'C-1455', 120.0), ('I-101', 'C-1897', 130.0), ('I-101', 'C-1415', 140.0), ('I-102', 'C-1415', 150.0), ('I-103', 'C-1897', 160.0)]
out_table = [('I-101', 'C-1415', -100.0), ('I-103', 'C-1455', -500.0)]
for elem in item_table:
print(elem[0])
for bill in in_table:
if elem[0] == bill[0]:
print(bill[1])
这是我的问题
这是我的主要设计
答案 0 :(得分:0)
制作一组已打印的所有查拉数字,以免重复打印。
item_table = [('I-101', 'Wall Tiles'), ('I-102', 'Floor Tiles'), ('I-103', 'Wall Tiles')]
in_table = [('I-101', 'C-1415', 100.0), ('I-102', 'C-1469', 110.0), ('I-103', 'C-1455', 120.0), ('I-101', 'C-1897', 130.0), ('I-101', 'C-1415', 140.0), ('I-102', 'C-1415', 150.0), ('I-103', 'C-1897', 160.0)]
out_table = [('I-101', 'C-1415', -100.0), ('I-103', 'C-1455', -500.0)]
for elem in item_table:
printed = set()
print(elem[0])
for bill in in_table:
if elem[0] == bill[0] and bill[1] not in printed:
print(bill[1])
printed.add(bill[1])