>> their_string = 'abracadabra' >>> our_string = 'cad' >>> our_strin-6ren">
gpt4 book ai didi

python - "in"列表与字符串中的语句行为

转载 作者:太空宇宙 更新时间:2023-11-04 09:07:53 25 4
gpt4 key购买 nike

在 Python 中,询问字符串中是否存在子字符串非常简单:

>>> their_string = 'abracadabra'
>>> our_string = 'cad'
>>> our_string in their_string
True

但是,检查这些相同的字符是否“在”列表中会失败:

>>> ours, theirs = map(list, [our_string, their_string])
>>> ours in theirs
False
>>> ours, theirs = map(tuple, [our_string, their_string])
>>> ours in theirs
False

我找不到任何明显的理由来说明为什么检查有序(甚至不可变)可迭代对象“中”的元素会与不同类型的有序、不可变可迭代对象表现不同。

最佳答案

对于列表和元组等容器类型,x in container 检查x 是否是容器中的项目。因此,对于 ours in theirs,Python 检查 ours 是否是 theirs 中的项目,并发现它是 False。

请记住,列表可以包含列表。 (例如 [['a','b','c'], ...])

>>> ours = ['a','b','c']    
>>> theirs = [['a','b','c'], 1, 2]
>>> ours in theirs
True

关于python - "in"列表与字符串中的语句行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com