只能连接列表(不是'' str'')到列表

时间:2015-10-21 13:51:51

标签: python

这是我的代码......

import sys
sys.path.append('path')
from Bio.pdb import *
import numpy
import gpde

pdb_directory = ''directory'' #not its real name!

dimers_from_sql = pdb[2:4]

one_two = pdb[1:3]

pdb_directory = []

structures = 'structures'

pdb_file = pdb_directory + one_two + ''/'' + 'structures' + ''/''+ dimers_from_sql[i][0]

我收到的错误消息与最后一行有关,并且读取的内容与此帖的标题相同。

3 个答案:

答案 0 :(得分:3)

你正在尝试这样做

In [1]: a=[1,2,3]

In [2]: b=[4,5,6]

In [3]: a+b+'c'
  

TypeError:只能将列表(不是“str”)连接到列表

可能你应该这样做

In [4]: c=['c']

In [5]: a+b+c
Out[5]: [1, 2, 3, 4, 5, 6, 'c']

答案 1 :(得分:1)

因为您正在尝试这样做:从列表和字符串创建新列表。那些不相容(显然)。

您可能要做的是将字符串添加到现有列表中,该列表将是: some_list.append("mystring")

答案 2 :(得分:0)

您只能连接相同类型的对象。 (字符串到字符串,列表到列表)如果希望最终结果是字符串,请将pdb_directory更改为空字符串。如果希望最终结果为列表,请将其他字符串附加到pdb_directory而不是连接。