【发布时间】:2019-05-23 23:52:28
【问题描述】:
下面给出的代码没有给出下面指定的预期结果。我尝试了很多排列都没有成功。
posLabels = ['abc', 'def', 'ab3','ab4', 'ab5']
senPosList = [('abc','def','ghi'),('jkl','mno','pqr','123'),
('stu','vwx')]
senVecList= []
senVec = []
posLabels[0] in senPosList[0]
for x in range(3):
for i in range(5):
if posLabels[i] in senPosList[x]:
senVec.append(1)
else:
senVec.append(0)
senVecList.append(senVec)
print(senVecList)
结果:
[[1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
我想要senVecList = [[1, 1, 0, 0, 0],[0, 0, 0, 0, 0],[0, 0, 0, 0, 0]]
【问题讨论】:
-
posLabels[0] in senPosList[0]已评估但未打印或其他任何内容。对吗? -
请edit 并描述您要做什么。我已经读了几次这个问题,但我仍然不明白。请参阅How to Ask 了解更多指示。
-
只做
[[1 if y in x else 0 for y in posLabels] for x in senPosList]
标签: python-3.x for-loop nested