是否可以in在过滤器中使用python关键字?我知道二进制,一元,赋值操作等同于函数调用.
如
''!=3
Run Code Online (Sandbox Code Playgroud)
是相同的
''.__ne__(3)
Run Code Online (Sandbox Code Playgroud)
这个in功能有类似的东西吗?我想做这样的事情...
filter( list1.__in__, list2 )
Run Code Online (Sandbox Code Playgroud)
我想这可以通过编写函数来完成...但我只是想知道它是否已经内置.
Dan*_* D. 15
filter( list1.__contains__, list2 )
Run Code Online (Sandbox Code Playgroud)
更清晰地写成:
[ v for v in list2 if v in list1 ]
Run Code Online (Sandbox Code Playgroud)
并显示等价:
>>> list1 = [2, 4, 6, 8, 10]
>>> list2 = [1, 2, 3, 4, 5]
>>> [ v for v in list2 if v in list1 ]
[2, 4]
Run Code Online (Sandbox Code Playgroud)
你在找__contains__.
>>> [1, 2, 3].__contains__(2)
True
>>> [1, 2, 3].__contains__(4)
False
Run Code Online (Sandbox Code Playgroud)
为了你想做的事:
>>> list1 = [2, 4, 6, 8, 10]
>>> filter(list1.__contains__, [1, 2, 3, 4, 5])
[2, 4]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1785 次 |
| 最近记录: |