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