How to check if any item from a list of strings is in a big string?
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Fri Jul 17 04:06:22 EDT 2009
On Thu, 16 Jul 2009 11:02:57 -0500, Pablo Torres N. wrote:
> On Thu, Jul 9, 2009 at 22:07, Steven
> D'Aprano<steven at remove.this.cybersource.com.au> wrote:
>> On Thu, 09 Jul 2009 18:36:05 -0700, inkhorn wrote:
>>
>>> def list_items_in_string(list_items, string):
>>> for item in list_items:
>>> if item in string:
>>> return True
>>> return False
>> ...
>>> Any ideas how to make that function look nicer? :)
>>
>> Change the names. Reverse the order of the arguments. Add a docstring.
>>
>>
> Why reverse the order of the arguments? Is there a design principle
> there?
It's just a convention. Before strings had methods, you used the string
module, e.g.:
string.find(source, target)
=> find target in source
This became source.find(target).
In your function:
list_items_in_string(list_items, string)
"list_items" is equivalent to target, and "string" is equivalent to
source. It's conventional to write the source first.
--
Steven
More information about the Python-list
mailing list