2017-04-05 63 views
0
list1 = ["experience","as","a","java","developer"] 
list2 = ["B","O","O","B","I"] 
list3 = ["java","developer"] 
number = 0 
print(list2) 
for i in list1: 
    for j in list3: 
     if(i!=j): 
      for l in range(number,len(list2)): 
       list2[number] = "O" 
       number += 1  
print(list2) 

这里"B"表示“experience”,"O"表示“as”等等。Python:我需要以下程序的一些建议

预期输出:

["O","O","O","B","I"] 

我的输出:

["O","O","O","O","O"] 
+0

你想设置o根据该单词是否在list3中找到,但是您多次设置多个元素,它们是list2中的ne元素。 – stark

+0

我要求(i!= j)意味着(经验!= java)等等,如果这是真的,那么list2索引应该替换为“O”,而不是i [0]到j [0] – Shireesh

回答

0

如果我明白你的问题是正确的,你需要做的:

for i in range(len(list1)): 
    if list1[i] not in list3: 
     list2[i] = "O" 

print(list2) 

输出[ '0',' 0','0','B','I']

+0

i不应该追加,实际的问题是,例如:if(i!= j)ie(experience!= java),包含b,0,0,b,i的列表应该替换为o,o,o,b,我等 – Shireesh

+0

答案根据你最近的评论更新“如果这是真的,那么list2索引应该替换为”O“ – Olia