无法连接'str'和'list'对象

时间:2010-07-08 18:04:29

标签: python

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

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

示例:我想从组列表中获取值并将其与“All.dbf”连接,以便它对列表中的每个值使用该文件执行某些操作。如果正常工作,它会在每次运行时将dbname的值分别设置为AdministrativeAll.dbf,CadastralAll.dbf和PlanimetericAll.dbf但是我得到'str'和'list'错误....

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

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

    blah, blah, blah....

我想我可以将“All.dbf”添加到组列表中的值上但是认为必须有更好的方法来处理这个函数或我不知道的事情....任何想法??

干杯

4 个答案:

答案 0 :(得分:5)

  

我想我可以将“All.dbf”添加到组列表中的值,但是认为必须有更好的方法来处理这个函数或我不知道的事情......

您可以使用list comprehension

group = [x + 'All.dbf' for x in group]

答案 1 :(得分:1)

dbname = [i+"All.dbf" for i in group]

答案 2 :(得分:0)

你需要浏览列表中的每个项目并将两者连接起来。每个循环的A是你最好的选择。我对python并不熟悉,所以你可能不得不遍历列表。

答案 3 :(得分:0)

在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”