如何使用基本操作更改列表中的值?

2024-10-01 02:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我给自己做了一个挑战,这样我就可以做一些编程了。在

但是我遇到了一些问题。在

adtprice = {19.99 , 49.99}
chldprice = adtprice * (3/4) - 7.5

这是我得到的结果。在

^{pr2}$

我希望它简单易用,因为我会经常使用adtprice和chldprice。在


Tags: 编程我会pr2chldpriceadtprice
3条回答
adtprice = [19.99 , 49.99]
chldprice = [a * (3.0/4) - 7.5 for a in adtprice]

首先,你有一个集合,而不是一个列表。使用方括号创建列表,而不是大括号。在

正如其他人所提到的,您需要对列表中的各个元素进行操作。在

你可以通过列表理解来做到这一点

adtprice  = [19.99, 49.99]
chldprice = [p * (3./4) - 7.5
             for p in adtprice]

或者使用map,如果您愿意:

^{pr2}$

如果您想对序列执行这些类型的批量操作,请考虑使用numpy。它是一组库,以简洁而强大的方式高效地处理矩阵和向量数学。例如:

adtprice  = numpy.array([19.99, 49.99])
chldprice = adtprice * (3./4) - 7.5

这可能就是你要找的。首先,集合不能与数字相乘,可以使用列表理解来代替,3/4将返回0(假设是python2.x)。我假设你想要3.0/4。在

>>> adtprice = [19.99 , 49.99]
>>> chldprice = [price*(3.0/4) - 7.5 for price in adtprice]
>>> chldprice
[7.4925, 29.9925]

相关问题 更多 >