我是Python的新手,所以请耐心等待。在红宝石中我可以写:
test = []
10.times do |i|
test.push(i)
end
put test.to_s
=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Python我试图检索类似的结果:
test = []
for i in range(10):
test.append(i)
print test
>>> [0]
>>> [0, 1]
>>> [0, 1, 2]
>>> [0, 1, 2, 3]
...
因此对于ruby,我可以编写一个块并附加到该块范围之外的变量。使用python有类似的方法吗?
答案 0 :(得分:0)
评论是对的;你写的内容是正确的,但如果你想要那个列表,你可以写test = range(10)
。如果您想对元素执行更复杂的操作,可以使用list comprehensions,例如test = [i for i in range(10)]
。
答案 1 :(得分:-1)
在红宝石中我可以写:
test = [] 10.times do |i| test.push(i) end put test.to_s #Note, in ruby you would write: p test => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
python中的粗略等价物是:
test = []
def block(i):
test.append(i)
for i in range(10):
block(i)
print test
--output:--
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
请参阅python的范围规则here。