"word" in [] == False解析表达式的内容的顺序是什么?它似乎无视所有逻辑:
>>> "word" in [] == False
False
>>> ("word" in []) == False
True
>>> "word" in ([] == False)
TypeError
Run Code Online (Sandbox Code Playgroud)
Python如何实际解释这个表达式,为什么它会这样解释呢?
编辑:
最常见的情况似乎是
>>> any_value in any_list == any_symbol_or_value
False
Run Code Online (Sandbox Code Playgroud) 据我所知,以下方案
#include <map>
int main()
{
std::map<int,int> foo;
std::map<int,int>::iterator start = foo.begin();
while (start++ != foo.end())
;
}
Run Code Online (Sandbox Code Playgroud)
应该终止,但它使用libstdc ++ 4.7.2无限循环.此程序显示的行为是否正确,或者标准库中是否存在错误?在迭代器上运算符++(int)的操作属性是什么?