(Python 2.7)尝试将字符串附加到列表时出现语法错误

2024-10-01 00:25:45 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨!我正在编辑我在网上找到的一个用Python 2.7编写的脚本。我只写过3.8版本的代码,所以我不完全熟悉这些变化。还是Python 3.8的初学者

我添加了一些代码将字符串附加到列表中,但每当我尝试运行脚本时,它都会抛出以下语法错误:SyntaxError
下面是它引用的代码片段:

for r in range(0,self.__length):
        for c in range(0,self.__width):
            if self.__map[r][c] in (WALL,PERM_WALL):
                print '#'
                global mapdatalist.append("#")
            else:
                print '.'
                global mapdatalist.append(".")

它指的是mapdatalist.append("#")位。
我已经阅读了列表函数的部分here,从我所阅读的内容来看,我做得很好。
任何有经验的人都能帮我吗?谢谢


Tags: 代码inself版本脚本编辑列表for
2条回答

假设您希望将字符串附加到全局变量mapdatalist, 您应该在使用变量之前声明全局变量

试试这个:

global mapdatalist
for r in range(0,self.__length):
        for c in range(0,self.__width):
            if self.__map[r][c] in (WALL,PERM_WALL):
                print '#'
                mapdatalist.append("#")
            else:
                print '.'
                mapdatalist.append(".")

不能将global声明与这样的表达式组合。在函数开头使用global mapdatalist一次,然后正常使用mapdatalist(例如mapdatalist.append("#"))。(无论使用哪个版本的Python,这都是相同的。)

相关问题 更多 >