使用解释器时,表达式'a' in ('abc')返回True,而'a' in ['abc']返回False.有人可以解释这种行为吗?
dhk*_*hke 135
('abc')是一样的'abc'.因此'abc'包含子字符串.'a''a' in 'abc' == True
如果你想要元组,你需要写('abc', ).
['abc']是一个列表(包含单个元素,字符串'abc').'a'不是这个列表的成员,所以'a' in ['abc'] == False
ozg*_*gur 49
('abc')不是一个元组.我觉得你把它与元组混淆了('abc',).
实际上,('abc')是相同'abc',一个array of characters其中a作为字符是在它的,因此,第一查找返回True:
>>> 'a' in 'abc'
True
Run Code Online (Sandbox Code Playgroud)
另一方面,['abc']是字符串列表或字符列表列表(您可以将其视为二维字符矩阵[['a', 'b', 'c']]),其中a,作为单个字符,不是外部列表的成员.实际上,它是内部列表的第一个字符:
>>> 'a' in ['abc']
False
>>> 'a' in ['abc'][0]
True
>>> 'a' == ['abc'][0][0]
True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4077 次 |
| 最近记录: |