Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.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 无法连接';str';和';列表';物体_Python - Fatal编程技术网

Python 无法连接';str';和';列表';物体

Python 无法连接';str';和';列表';物体,python,Python,我得到一个TypeError:无法连接'str'和'list'对象 我试图从列表中传递一个对象,通过将其与另一个变量连接来创建一个新变量 示例:我想从组列表中获取值,并将其与“All.dbf”连接起来,这样它就可以为列表中的每个值处理该文件。如果工作正常,每次运行时,它都会将dbname的值分别设置为AdministrativeAll.dbf、cadastall.dbf和PlanimetericAll.dbf,但我遇到了“str”和“list”错误 group = ['Administrativ

我得到一个TypeError:无法连接'str'和'list'对象

我试图从列表中传递一个对象,通过将其与另一个变量连接来创建一个新变量

示例:我想从组列表中获取值,并将其与“All.dbf”连接起来,这样它就可以为列表中的每个值处理该文件。如果工作正常,每次运行时,它都会将dbname的值分别设置为AdministrativeAll.dbf、cadastall.dbf和PlanimetericAll.dbf,但我遇到了“str”和“list”错误

group = ['Administrative', 'Cadastral', 'Planimetric']

for i in group:
    dbname = i + "All.dbf"

    blah, blah, blah....
我想我可以将“All.dbf”添加到组列表中的值中,但我认为一定有更好的方法来使用函数或我不知道的东西来处理这个问题……有什么想法吗

干杯

我想我可以将“All.dbf”添加到组列表中的值中,但我认为一定有更好的方法用函数或我不知道的东西来处理它

您可以使用:


您需要遍历列表中的每个项目,并将两者连接起来。A for each循环是您的最佳选择。我对python不太熟悉,因此您可能需要对列表进行迭代。

在2.6.5中运行此命令:

group = ['Administrative', 'Cadastral', 'Planimetric']
for i in group:
    dbname = i + "All.dbf"
    print 'Concat', dbname
提供以下输出:

Concat AdministrativeAll.dbf
Concat CadastralAll.dbf
Concat PlanimetricAll.dbf

最坏的情况是,您可以遍历列表长度的范围,然后执行group[i]+“string to concatenate”

该代码会出现错误吗?你确定没有
dbname=group+“All.dbf”
?非常确定-我的代码是:group=['Administrative'、'Cadastral'、'Planimetric'],用于组中的I:dbname=I+“All.dbf”你确定错误不是来自代码中的“blah,blah,blah”?您能发布准确的错误和回溯吗?我确信Mark-当手动输入和在程序本身中输入时,它会在Python命令提示符下直接失败。如果我注释掉该部分(分配组和后续的“for I in group:”),它将完成它应该做的所有其他事情…尝试创建一个新的python文件,其中只包含三行:
group=['administration'、'cadastal'、'Planimetric'];for I in group:print I+“All.dbf”
因为使用这种语法,不可能出现错误。
group = ['Administrative', 'Cadastral', 'Planimetric']
for i in group:
    dbname = i + "All.dbf"
    print 'Concat', dbname
Concat AdministrativeAll.dbf
Concat CadastralAll.dbf
Concat PlanimetricAll.dbf