相关疑难解决方法(0)

如何在python中向后循环?

我在谈论做类似的事情:

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不存在.

python iteration range

160
推荐指数
4
解决办法
29万
查看次数

减少循环

我希望有一个像这样的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

python for-loop decrement

53
推荐指数
4
解决办法
12万
查看次数

为什么切片和范围上限是独占的?

免责声明:我不是问是否在上限stop的争论slice()以及range()为异或如何使用这些功能.

对函数rangeslice函数的调用以及切片表示法[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)

python language-design slice

33
推荐指数
5
解决办法
1万
查看次数

如何倒数for for循环?

在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中的索引工作的人.

python

16
推荐指数
3
解决办法
7万
查看次数

倒计时到零而不是 1?

a = int(input("Enter a numeber: "))

for i in range(a):
    x = a - i
    print(x)
Run Code Online (Sandbox Code Playgroud)

我怎样才能让这个倒数为零而不是 1?

python

1
推荐指数
1
解决办法
2300
查看次数

标签 统计

python ×5

decrement ×1

for-loop ×1

iteration ×1

language-design ×1

range ×1

slice ×1