如果我有以下列表: 'new = [1,2,3,4,5]' 我将计数器值设置为0: 'counter = 0' 如果我想继续将列表值增加1/10,直到数字全部增加1,我可以在一个循环中执行此操作吗?
我之前尝试的代码是:
[1.1, 2.1, 3.1, 4.1, 5.1]
[1.2, 2.2, 3.2, 4.2, 5.2]
我想要的输出是:
[2, 3, 4, 5, 6]
等..一直到结束列表值:
{{1}}
答案 0 :(得分:0)
你或多或少应该能够做你想做的事。但是,处理特定值0.1
有点棘手,因为它不能精确地再现为浮点数(当你乘以它时,你可能得到0.30000000000000004
之类的值。 3而不是预期的0.3
)。但您可以忽略这些错误或以不同方式计算值(例如3/10
而不是0.1*3
)。
尝试这样的事情:
for i in range(1, 11):
newLst = []
for j in range(1, 6):
newLst.append(j + i / 10)
print(newLst)
如果您使用的是Python 2,则以前需要执行i / 10.0
(使用float文字)以确保除法给出浮点结果,而不是截断为整数。默认情况下,Python 3会进行浮动除法,如果将from __future__ import division
放在Python 2中的文件顶部,也可以获得此行为。