我有一个包含 4 个项目的 2D 列表对象fps,该对象的长度为 2006(2006 行,每行包含 4 个元素)。该对象看起来像
['0012', 'CCN[C@H]1CN', <rdkit.Chem.rdchem.Mol object at 0x7fea177a0260>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fea0f2fd030>]
['0015', 'CCN[H@H]1CN', <rdkit.Chem.rdchem.Mol object at 0x7fea177a0260>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fea0f2fd030>]
... so on
我只想打印4th items. 所以我的代码是
for n in range(len(fps)-1):
print(fps[n][3])
输出看起来像
<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3170>
<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f31c0>
<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3210>
现在我想将所有第四个元素打印为1 to many关系类型。更具体地说,fps[n][3]将打印所有其余元素2005(仅第四列),依此类推。所以我写了这个
for n in range(len(fps)-1):
print(fps[n][3], fps[n+1:][3]) #Can I use for mapping
但是,我的代码对于第一次打印没有问题,但对于第二次打印却出现错误。第二个给出整体2d list。输出看起来像
<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fde5df8f300> ['00299', 'Nc1nc(=O)c2ncn(CCC(CO)CO)c2[nH]1', <rdkit.Chem.rdchem.Mol object at 0x7fde5dfde530>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fde5df8f440>]
<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f34e0> ['15617', 'OC[C@H](O)[C@@H](O)[C@H](O)[C@H](O)CO[C@H]1O[C@H](CO[C@H]2O[C@H](CO)[C@@H](O)[C@H](O)[C@H]2O)[C@@H](O)[C@H](O)[C@H]1O.[Fe+3]', <rdkit.Chem.rdchem.Mol object at 0x7fcfa0a455d0>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3620>]
我的预期输出是这样的
<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3170> <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f31c0>
<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3170> <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3210>
对于更一般的方式我的预期输出
element_1 element_2
element_1 element_3
element_1 element_4
........
element_1 element_2006
element_2 element_1
element_2 element_3
......
可以用这种方式打印吗?
扬帆大鱼
倚天杖
相关分类