代码如下
from decimal import Decimal
sample = [
("Book", Decimal("10.000"), Decimal("0E-20"), None),
("Pen", Decimal("66.66666"), Decimal("0E-20"), None),
("Pencil", Decimal("100.0000"), Decimal("0E-20"), 'G'),
]
data = {}
for i in sample:
try:
data['prod'] = i[0]
data['test1'] = round(i[1])
data['test2'] = round(i[2])
data['test3'] = round(i[3])
except:
pass
print(data)
我的输出是
{'prod': 'Pencil', 'test1': 100, 'test2': 0}
预计出炉的是全部3本字典
如果None
,则在字典中它必须替换为0
{'prod': 'Book', 'test1': 10.00, 'test2': 0, 'test3':0}
{'prod': 'Pen', 'test1': 66.66, 'test2': 0, 'test3':0}
{'prod': 'Pencil', 'test1': 100, 'test2': 0, 'test3':'G'}
预料之外
[{'prod': 'Book', 'test1': 10, 'test2': 0, 'test3': 0}, {'prod': 'Pen', 'test1': 67, 'test2': 0, 'test3': 0}, {'prod': 'Pencil', 'test1': 100, 'test2': 0, 'test3': 'G'}]
您希望打印3词典,但
data
仅包含1个(每个元素的最后一个值都已分配给它)您可能希望这样做:
将以下行打印到标准输出:
更新: 根据下面的注释,您需要不同的输出,因此我将上面的代码更改如下:
产出为:
您需要创建字典列表并将每个字典添加到其中:
相关问题 更多 >
编程相关推荐