Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么列表命名为;右'&引用;保持不变?_Python_List - Fatal编程技术网

Python 为什么列表命名为;右'&引用;保持不变?

Python 为什么列表命名为;右'&引用;保持不变?,python,list,Python,List,我想知道为什么这个代码没有改变我的列表 height = [1,2,3,4,3,2,3,2,1] right = [None]*9 for i in reversed(range(9,1)): if height[i-1]>height[i]: right[9-i-1] = 1 else: right[9-i-1] = 0 print(right) 您的代码发布了范围(9,1),该范围为空 要迭代1,2,3,4,请使用range(1,5)

我想知道为什么这个代码没有改变我的列表

height = [1,2,3,4,3,2,3,2,1]
right = [None]*9
for i in reversed(range(9,1)):
    if height[i-1]>height[i]:
        right[9-i-1] = 1
    else:
        right[9-i-1] = 0
print(right)
  • 您的代码发布了范围(9,1),该范围为空
  • 要迭代1,2,3,4,请使用
    range(1,5)
  • 要迭代4,3,2,1,请使用
    reversed(范围(1,5))
    range(4,0,-1)

  • 该范围将永远不会退出,因此我不确定您如何才能正确打印
    反转(范围(9,1))
    正在空列表上迭代。我添加了一行关于如何初始化列表“right”,@AndrejKesely是否有不同的方法?首先,您需要
    范围(9,1,-1)
    。第二,什么是
    n
    ?通过在for循环中添加
    print(i)
    来调试自己。然后阅读
    range
    的工作原理。你是对的,尽管
    range()
    在Python3中没有返回列表。说
    range(1,5)
    会生成一个迭代1,2,3,4的iterable,这有点令人费解。在它周围添加
    list()
    调用只会添加更多他们必须关注的代码。当然,没有一种简洁、技术上正确的方法来表达它。尽管,忽略数据结构而只讨论内容可能更简单:
    范围(9,1)
    为空,
    范围(1,5)
    1,2,3,4
    反向(范围(1,5))
    4,3,2,1