为了账号安全,请及时绑定邮箱和手机立即绑定

遍历列表,如果在其他列表中找不到则返回none

遍历列表,如果在其他列表中找不到则返回none

月关宝盒 2023-09-26 14:14:45
我正在尝试迭代我的“发送”列表。如果我的其他列表“食物”包含列表“发送”中的元素,我想将列表“食物”中的值附加到“结果”,如果没有,则不附加任何元素。到目前为止我所拥有的是:result = []sents = ['I love pizza. its my favorite', 'lets go get a sub', 'I just want a big fat steak']food = ['sub', 'pizza', 'burger', 'noodles', 'candy']我知道这应该很简单,但我似乎不知道如何做到这一点。我尝试执行以下操作:for x in sents:    for z in food:        if z in x:            result.append(z)        else:            result.append("None")但这显然会为食物中的每个列表项附加一个元素。我试图让我的“结果”列表看起来像这样:result = ['pizza', 'sub', 'none']任何帮助将不胜感激。
查看完整描述

3 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

你可以尝试用这个..


result = []


sents = ['I love pizza. its my favorite', 'lets go get a sub', 'I just want a big fat steak']


food = ['sub', 'pizza', 'burger', 'noodles', 'candy']


for lines in sents:

     flg = 0

     for items in food:

         if items in lines:

              result.append(items)

              flg=1

     if flg==0:

         result.append('None')


print(result)

# result = ['pizza', 'sub', 'none']


查看完整回答
反对 回复 2023-09-26
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

您首先必须解析sents list并查找关键字 ( food)。找到这些关键字后,您可以将它们附加到结果列表中。这是我的观点,来自另一种编程语言。您必须将这个理论应用到 Python 中。(我会发表评论,但声望点不够)



查看完整回答
反对 回复 2023-09-26
?
LEATH

TA贡献1936条经验 获得超6个赞

Result = list([x if sents.find(x) else 'none' for x in food])

#updated for string.find() #also,不考虑大小写差异


查看完整回答
反对 回复 2023-09-26
  • 3 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信