Basil Shubin wrote: > Hi friends! > > Imagine the tuple that has dictionaries as it's item: > >>>> print data > ({'id': 0, 'title': 'Linux'}, {'id': 1, 'title': 'FreeBSD'}) > > How I can get index of tuple item where dict's key 'id' equal to > appropriate value? And can this be done without 'for' loops, just in one > string?
If you must...this will break if there is no match, and it will always enumerate the entire data list: [ i for i, d in enumerate(data) if d['id']== id_to_match ][0] For the readable version, which won't break if the id is missing, and may be faster depending on the data: for i, d in enumerate(data): if d['id'] == id_to_match: break else: i = None # or whatever you want to do to signal no match Alternately, maybe you should be storing data in a dict indexed by id instead of in a list? Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor