【发布时间】:2011-08-02 13:53:03
【问题描述】:
好的,我有一长串数字,像这样:
q = [3495790.0, 2386479.0, 2398462.0]
等等等等大约300次。我想得到这个列表的另一个版本,所有数字都加了 1800,同时保留原始列表以供比较。感谢您的所有帮助!
【问题讨论】:
好的,我有一长串数字,像这样:
q = [3495790.0, 2386479.0, 2398462.0]
等等等等大约300次。我想得到这个列表的另一个版本,所有数字都加了 1800,同时保留原始列表以供比较。感谢您的所有帮助!
【问题讨论】:
q1 = [x + 1800 for x in q]
应该可以解决问题。
【讨论】:
q2 = [x + 1800.0 for x in q]
将创建一个新列表,每个条目添加 1800 个。
【讨论】:
在 Python 中,您可以将列表推导的结果分配给另一个列表:
# Given:
q = [3495790.0, 2386479.0, 2398462.0]
# You could do...
r = [x + 1800 for x in q]
【讨论】:
准确地说,这是最好的方法:
q2 = [x + 1800.0 for x in q]
但如果你觉得有创意,你也可以使用带有 map 的 lambda(创意,我的意思是烦人):
q2 = map(lambda a: 1800.0 + a, q)
当然,还有慢且非pythonic的
q2 = []
for i in q:
q2.append(i)
【讨论】: