Python 3.6v range() 函数不会执行
Python 3.6v range() function won't execute
def fn():
theList = []
for rev in range(5, 0, -1):
theList.append(rev)
print(theList)
fn()
我不明白,为什么这个不执行?
我的目标是打印这样的东西
[5,4,3,2,1,0]
[4,3,2,1,0]
[3,2,1,0]
[2,1,0]
[1,0]
[0]
编辑 1. 好的,我添加了逗号 (,) 但结果是这样
[5]
[5, 4]
[5, 4, 3]
[5, 4, 3, 2]
[5, 4, 3, 2, 1]
这不是我要找的
1)你的函数有错别字:
for rev in range(5, 0, -1):
2) 您需要使用您的 rev:
for rev in range(5, -1, -1):
print(range(rev,-1,-1))
你可以得到这样的输出:
def fn():
theList = list(range(5, -1, -1))
for idx in range(len(theList)):
print(theList[idx:])
fn()
输出:
[5, 4, 3, 2, 1, 0]
[4, 3, 2, 1, 0]
[3, 2, 1, 0]
[2, 1, 0]
[1, 0]
[0]
您的代码使用了错误的方法。基本上,您的输出显示该列表最初已满,并且在每次迭代时继续从左侧弹出一个元素。您的方法从一个空列表开始,并在每次迭代时添加一个元素。
此外,range(5, 0, -1)
不是您认为的列表。这是因为范围函数忽略了此处为 0 的结束值。
如果你这样做 list(range(5, 0, -1))
,你会得到 [5, 4, 3, 2, 1]
,这显然不包含 0。因此,要获得你想要的列表,你必须做 list(range(5, -1, -1))
就像上面的代码一样。
def fn():
theList = []
for rev in range(5, 0, -1):
theList.append(rev)
print(theList)
fn()
我不明白,为什么这个不执行? 我的目标是打印这样的东西
[5,4,3,2,1,0]
[4,3,2,1,0]
[3,2,1,0]
[2,1,0]
[1,0]
[0]
编辑 1. 好的,我添加了逗号 (,) 但结果是这样
[5]
[5, 4]
[5, 4, 3]
[5, 4, 3, 2]
[5, 4, 3, 2, 1]
这不是我要找的
1)你的函数有错别字:
for rev in range(5, 0, -1):
2) 您需要使用您的 rev:
for rev in range(5, -1, -1):
print(range(rev,-1,-1))
你可以得到这样的输出:
def fn():
theList = list(range(5, -1, -1))
for idx in range(len(theList)):
print(theList[idx:])
fn()
输出:
[5, 4, 3, 2, 1, 0]
[4, 3, 2, 1, 0]
[3, 2, 1, 0]
[2, 1, 0]
[1, 0]
[0]
您的代码使用了错误的方法。基本上,您的输出显示该列表最初已满,并且在每次迭代时继续从左侧弹出一个元素。您的方法从一个空列表开始,并在每次迭代时添加一个元素。
此外,range(5, 0, -1)
不是您认为的列表。这是因为范围函数忽略了此处为 0 的结束值。
如果你这样做 list(range(5, 0, -1))
,你会得到 [5, 4, 3, 2, 1]
,这显然不包含 0。因此,要获得你想要的列表,你必须做 list(range(5, -1, -1))
就像上面的代码一样。