我在谈论做类似的事情:
for(i=n; i>=1; --i) {
//do something with i
}
Run Code Online (Sandbox Code Playgroud)
我可以想一些在python中这样做的方法(创建一个列表range(1,n+1)并反转它,使用while和--i,...)但是我想知道是否有更优雅的方法来做到这一点.在那儿?
编辑:有人建议我使用xrange()而不是range(),因为range返回一个列表,而xrange返回一个迭代器.但是在Python 3(我碰巧使用)中,range()返回一个迭代器而xrange不存在.
我希望有一个像这样的for循环:
for counter in range(10,0):
print counter,
Run Code Online (Sandbox Code Playgroud)
输出应为10 9 8 7 6 5 4 3 2 1
免责声明:我不是问是否在上限stop的争论slice()以及range()为异或如何使用这些功能.
对函数range和slice函数的调用以及切片表示法[start:stop]都是指整数集.
range([start], stop[, step])
slice([start], stop[, step])
Run Code Online (Sandbox Code Playgroud)
在所有这些中,stop排除整数.
我想知道为什么语言是这样设计的.
是它使stop当等于在表示整数集合元素的数量start等于0或省略?
它有:
for i in range(start, stop):
Run Code Online (Sandbox Code Playgroud)
看起来像下面的C代码?
for (i = start ; i < stop; i++) {
Run Code Online (Sandbox Code Playgroud) 在Java中,我有以下for循环,我正在学习Python:
for (int index = last-1; index >= posn; index--)
Run Code Online (Sandbox Code Playgroud)
对于大多数熟悉Python的人来说,我的问题很简单并且可能很明显.我想在Python中编写'for'循环代码.我怎样才能做到这一点?
我试着做以下事情:
for index in range(last-1, posn, -1):
Run Code Online (Sandbox Code Playgroud)
我认为应该是range(last-1, posn + 1, -1).我对吗?
我很感谢能够向我解释如何理解Python中的索引工作的人.
a = int(input("Enter a numeber: "))
for i in range(a):
x = a - i
print(x)
Run Code Online (Sandbox Code Playgroud)
我怎样才能让这个倒数为零而不是 1?