【问题标题】:python lists :IndexError: list assignment index out of rangepython列表:IndexError:列表分配索引超出范围
【发布时间】:2017-10-20 16:49:44
【问题描述】:

我试图让一个“x”字符在列表中移动,从一个索引到另一个索引,然后一遍又一遍地返回。我想知道是否可以使其保持不变,以便在 Python shell 中我只能看到一个带有移动 x 的列表。 我试过用这段代码来做,但我很确定一定有其他方法可以做到这一点。 对不起,我的身份,我是新手,不太了解。
希望得到您的帮助,谢谢。


def vec ():


    vec=[]
    z=0
    x="x"
    e=" "
    y=1

    while (x=="x"):
        while (y<=98):

            vec[z]= e
            z=z+1
            vec[y]=x
            y=y+1

   vec[y]= e
   w=98

   m=99

   while (m>0):
       vec[m]= e
       vec[w]= x
       w=w-1
       m=m-1

【问题讨论】:

  • 术语说明:术语向量在 Python 中并不常用,而是称为 list 对象。此外,始终使用通用 python 标签,并且仅在您的问题或问题是特定于版本的情况下使用特定版本,但始终包含通用标签。
  • 我会建议您是否可以正确缩进代码,否则它不可读。空格在 python 中很重要。另外,请解释您在代码中尝试执行的操作。
  • 嗨,我正在尝试将“x”移动到列表中,所以它似乎是从列表的一侧运行然后返回。这是某种视觉效果。如果有其他方法可以做到这一点,我将不胜感激。

标签: python list


【解决方案1】:

您的索引超出范围是因为您的“vec”列表有零个元素。您需要以某种方式对其进行初始化。一种方法是执行以下操作:

vec = [e] * 100

这将创建一个包含 100 个元素的列表,每个元素都初始化为 e 的值。

【讨论】:

    猜你喜欢
    • 2018-10-21
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 2018-03-19
    • 1970-01-01
    • 2022-11-27
    • 2020-09-17
    相关资源
    最近更新 更多