python列表中元素值进行比较_Python比较两个列表中的元素

现在,您已经修复了原始问题,并修复了执行反向检查的下一个问题,并重命名了所有变量,现在您得到了:for match in dictionary:

if any(match in value for value in sentences):

print match

你的问题是:The way I have the code written i can get the dictionary items but instead i want to print the sentences.

嗯,是的,你的match是一个字典项,这就是你要打印的内容,所以你得到的当然是这个。在

如果要打印包含字典项的句子,就不能使用^{},因为如果有元素为真,那么该函数的全部意义就是返回True。它不会告诉你是哪一个事实上,如果不止一个,它会在第一个停止。在

如果您不了解any之类的函数以及传递给它们的生成器表达式,那么就不应该将它们用作神奇的调用。弄清楚如何将它们写成显式循环,这样您就可以轻松地回答这些问题了。(请注意,any文档直接向您展示了如何编写等效循环。)

例如,现有代码相当于:

^{pr2}$

这样写,应该很明显如何修复它。首先,您希望打印句子而不是单词,所以打印value而不是match(同样,如果您使用有意义的变量名,如sentence和{},而不是像value这样的无意义的名称和match这样的误导性名称,这将非常有帮助。其次,要打印所有匹配的句子,而不仅仅是第一个句子,所以不要break。所以:for match in dictionary:

for value in sentences:

if match in value:

print value

如果你回到我的第一个答案,你可能会注意到这正是我建议的结构。在

您可以通过使用理解和迭代器函数来简化或缩短这一过程,但除非您理解了简单版本,以及这些理解和迭代器函数是如何工作的。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值