pricelist=[373, 381, 398, 402, 404, 457, 535, 550, 566]
pricelist2=[97, 00, 98, 98, 98, 97, 99, 97, 98]我想将这两个列表(字符串)合并为以下内容:
final_price=[373.97, 381.00, 398.98]等
所以,把价格放在一起,然后加一个点。请帮帮忙
编辑,对不起,我忘了提到列表当前是字符串
发布于 2022-06-28 12:45:12
您可以使用zip和列表理解:
pricelist=[373, 381, 398, 402, 404, 457, 535, 550, 566]
pricelist2=[97, 0, 98, 98, 98, 97, 99, 97, 98]
out = [a+b/100 for a,b in zip(pricelist, pricelist2)]产出:
[373.97, 381.0, 398.98, 402.98, 404.98, 457.97, 535.99, 550.97, 566.98]注意:正如@OlvinRoght所指出的,如果您计划使用输出数字的representation,更好的round以避免浮点精度问题(例如,6+94/100会给6.9399999999999995)。
out = [round(a+b/100, 2) for a,b in zip(pricelist, pricelist2)]numpy
您也可能对使用专门的库感兴趣。numpy可以非常有效地处理数组/向量:
import numpy as np
a1 = np.array(pricelist)
a2 = np.array(pricelist2)
out = a1+a2/100产出:
array([373.97, 381. , 398.98, 402.98, 404.98, 457.97, 535.99, 550.97,
566.98])https://stackoverflow.com/questions/72786658
复制相似问题