python.list at tim.thechases.com
Sun Aug 22 20:12:00 CEST 2010
On 08/22/10 12:50, Baba wrote:
> level: beginners
> I was trying to write simple code that compares 2 tuples and returns
> any element in the second tuple that is not in the first tuple.
> def tuples(t1, t2):
> result = 
> for b in t2:
> for a in t1:
> if b == a:
> return result
> print tuples([0,5,6], [0,5,6,3,7])
> the code works but i was surprised by the following: my understanding
> was that an ELSE clause is part of an IF statement. Therefore it comes
> at the same indentation as the IF statement.
The ELSE clause can be used either with an IF (as you know) or
with a FOR loop, which is interpreted as "if this loop reached
the end naturally instead of exiting via a BREAK statement,
execute this block of code".
If you reach the end of t1 without having found a value (and then
issuing a "break"), then the current value of t2 (b) should be
appended to the result.
That said, unless order matters, I'd just use sets:
def tuples(t1, t2):
which should have better performance characteristics for large
More information about the Python-list