我正在尝试迭代我的“发送”列表。如果我的其他列表“食物”包含列表“发送”中的元素,我想将列表“食物”中的值附加到“结果”,如果没有,则不附加任何元素。到目前为止我所拥有的是: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']
Smart猫小萌
TA贡献1911条经验 获得超7个赞
您首先必须解析sents list
并查找关键字 ( food
)。找到这些关键字后,您可以将它们附加到结果列表中。这是我的观点,来自另一种编程语言。您必须将这个理论应用到 Python 中。(我会发表评论,但声望点不够)
LEATH
TA贡献1936条经验 获得超6个赞
Result = list([x if sents.find(x) else 'none' for x in food])
#updated for string.find() #also,不考虑大小写差异
添加回答
举报
0/150
提交
取消