如何在Python中保持列表静态?

时间:2011-08-02 13:53:04

标签: python list addition

好的,所以我有一长串的数字,如下:

q = [3495790.0, 2386479.0, 2398462.0]

依旧等约300次。我希望获得此列表的另一个版本,其中所有数字都加上1800,同时保留原始列表以进行比较。谢谢你的帮助!

4 个答案:

答案 0 :(得分:5)

q1 = [x + 1800 for x in q]

应该这样做。

答案 1 :(得分:3)

q2 = [x + 1800.0 for x in q]

将创建一个新列表,并在每个条目中添加1800.

答案 2 :(得分:2)

在Python中,您只需将列表推导的结果分配给另一个列表:

# Given:
q = [3495790.0, 2386479.0, 2398462.0]

# You could do...
r = [x + 1800 for x in q]

答案 3 :(得分:1)

准确一点,这是最好的方法:

q2 = [x + 1800.0 for x in q]

但是如果你有创意,你也可以使用带地图的lambda(和创意,我的意思是讨厌):

q2 = map(lambda a: 1800.0 + a, q)

当然,还有缓慢而非pythonic

q2 = []
for i in q:
   q2.append(i)