Python列出了相似性

Python列出了相似性,python,list,Python,List,我希望得到两个列表中相似字符的数量。 第一个清单是: list1=['e', 'n', 'z', 'o', 'a'] 第二个列表将是一个单词用户输入,变成一个列表: word=input("Enter word") word=list(word) 我将在下面运行此函数以获取两个列表中的相似数: def getSimilarItems(word,list1): counter = 0 for i in list2: for j in list1

我希望得到两个列表中相似字符的数量。 第一个清单是:

list1=['e', 'n', 'z', 'o', 'a']
第二个列表将是一个单词用户输入,变成一个列表:

word=input("Enter word")
word=list(word)
我将在下面运行此函数以获取两个列表中的相似数:

def getSimilarItems(word,list1):
       counter = 0
       for i in list2:
           for j in list1:
               if i in j:
                   counter = counter + 1
       return counter
我不知道该怎么做的是如何获得列表中每个项目的相似数(如果一个项目是一个字符,那么它将是0或1)

非常感谢您的帮助:)

例如: 如果用户输入的单词是afez: 我希望运行该函数:

wordcount= getSimilarItems(word,list1)
并将其作为输出:

>>>1 (because a from afez is in list ['e', 'n', 'z', 'o', 'a'])
>>>0 (because f from afez isn't in list ['e', 'n', 'z', 'o', 'a'])
>>>1 (because e from afez is in list ['e', 'n', 'z', 'o', 'a'])
>>>1 (because z from afez is in list ['e', 'n', 'z', 'o', 'a'])
我不知道怎么做的是如何得到相似的数量 对于列表中的每个项目(将0或1作为 word将被拆分为一个列表,其中一项是字符)

我假设不计算列表中的项目数,而是希望获得每个元素的单独匹配结果

为此,您可以使用字典或列表,并从函数中返回它们

假设输入与列表长度相同

def getSimilarItems(list1,list2):
     counter = 0
     list = []
     for i in list2:
          for j in list1:
              if i in j:
                  list.append(1)
              else:
                  list.append(0)
     return list
根据你的编辑

def getSimilarItems(list1,list2):
     counter = 0
     for i in list2:
         if i in list1:
             print('1 (because )'+i +' from temp_word is in list'+ str(list1))
         else:
             print("0 (because )"+i +" from temp_word isn't in list" + str(list1))

如果你想要一个更精简的版本(我不太擅长列表理解),请看Julien的答案。

听起来你只是想要:

def getSimilarItems(word,list1):
    return [int(letter in list1) for letter in word]

请添加示例输入/输出,以明确您需要的输出是<代码>[1,0,1,1]?是的,因为我想比较列表['a'、'f'、'e'、'z']和['e'、'n'、'z'、'o'、'a']以及a、e和z在第二个列表中,所以输出为1,而f不是0,所以输出为0。您不妨将其压缩为:
定义GetSimilItems(列表1,列表2):为列表1中的j返回[int(I in j)