Test a list
Tim Chase
python.list at tim.thechases.com
Wed Mar 20 14:36:01 EDT 2013
On 2013-03-20 11:15, Ana DionĂsio wrote:
> t= [3,5,6,7,10,14,17,21]
>
> Basically I want to print Test 1 when i is equal to an element of
> the list "t" and print Test 2 when i is not equal:
>
> while i<=25:
> if i==t[]:
> print "Test1"
> else:
> print "Test2"
>
> What is missing here for this script work?
Well, your code never increments "i", so it will loop forever; you
also don't subscript "t" with anything, so you have invalid syntax
there; you also don't have any values in the list that actually match
their 0-indexed offset, so even if your code was correct, it would
still (correctly) return Test2 for everything.
This sounds a bit like homework, but the Pythonic way would likely
iterate over the data and its enumeration:
for index, value in enumerate(t):
if index == value: # compare index & value accordingly
...
If you need to have the index start at 1 (or some other value)
instead of 0, and you're running Python2.6+, you can pass the initial
index to enumerate(). Otherwise, you have to do the math in your
comparison.
-tkc
More information about the Python-list
mailing list