首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python合并2列表

Python合并2列表
EN

Stack Overflow用户
提问于 2022-06-28 12:42:41
回答 1查看 74关注 0票数 1
代码语言:javascript
复制
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]

所以,把价格放在一起,然后加一个点。请帮帮忙

编辑,对不起,我忘了提到列表当前是字符串

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-28 12:45:12

您可以使用zip和列表理解:

代码语言:javascript
复制
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)]

产出:

代码语言:javascript
复制
[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)。

代码语言:javascript
复制
out = [round(a+b/100, 2) for a,b in zip(pricelist, pricelist2)]

numpy

您也可能对使用专门的库感兴趣。numpy可以非常有效地处理数组/向量:

代码语言:javascript
复制
import numpy as np
a1 = np.array(pricelist)
a2 = np.array(pricelist2)

out = a1+a2/100

产出:

代码语言:javascript
复制
array([373.97, 381.  , 398.98, 402.98, 404.98, 457.97, 535.99, 550.97,
       566.98])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72786658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档