[GvR] > I wrote: > > I personally see no way to defend ('' in 'x') returning false; it's so > > clearly a substring that any definition of substring-ness that > > excludes this seems mathematically wrong, despite your good > > intentions. > If you are serious about this proposal then clearly it would be as well to have "in" agree with find(), and currently anystring.find('') returns zero, suggesting the null string first appears at the beginning. > However, the backwards compatibility argument makes sense. It used to > raise an exception and it would probably break code if it stopped > doing so; longer strings are much less likely to be passed by accident > so the need for the exception there is less strong. I'm of two minds > on this now... > However, I'm somewhat horrified to see this being discussed seriously. You can take pragmatism too far, you know ;-) Are you also proposing to allow if [2, 3] in [1, 2, 3, 4] which is effectively the meaning you seem to be proposing for strings? Where else in the language does the keyword "in" refer to anything other than membership? Why do we need another way to do what find() and index() already do? Should we also ensure that for s in "abc": print s prints a ab abc b bc c Should it also print a blank line because "'' in anystring" is true? I can see why users might want to be able to use a "string in string" construct, but it would seem to confuse the "for" semantics. Is there some other construct for which for v in object_or_instance: does not assign to v all x such that "x in object_or_instance" is true? I can see a few teaching problems here. my-god-*am*-i-really-a-bigot-ly y'rs - steve ----------------------------------------------------------------------- Steve Holden http://www.holdenweb.com/ Python Web Programming http://pydish.holdenweb.com/pwp/ -----------------------------------------------------------------------
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4