On 27/10/14 03:17, Clayton Kirkwood wrote:

get_new_list = True
print(values)                   #[('a', 'Ask'), ('y', 'Dividend Yield')]
while get_new_list:
     key_list = input('Please enter space separated keys in the order you
want: ').split()
     print(key_list)            #['a', 'y']
     for key in key_list:
         print(key)             #a
         if key not in values[0]:       #I am trying to ensure that 'a' is
in the first 'column' of values

Are you only interested in the first pair of values or if its in any pair? I'll assume the latter. You could do:

[pair for pair in values if key in pair]

Or if you want to be sure you are testing the first element of the pair:

[pair for pair in values if key == pair[0]]

That will return a list of pairs containing your key.
Hopefully that will usually be only one pair...

You can then test for an empty list in you if statement like:

if not [pair for pair in values if key in pair]:

             print("Error:", key, "not available, start again")
             get_new_list = True
             break
     else: get_new_list = False

If you want to process the pairs containing the key then you could store the comprehension result in a variable, say key_pairs or somesuch.

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to