[EMAIL PROTECTED] a écrit : > While working with lists of tuples is probably very common, none of my > five Python books or a Google search tell me how to refer to specific items > in each tuple.
t = "a", "b", "c" assert t[0] == "a" assert t[1] == "b" assert t[2] == "c" > I find references to sorting a list of tuples, but not > extracting tuples based on their content. loft = [(1, 2, 3), (1, 2, 4), (2, 3, 4)] starting_with_one = [t for t in loft if t[0] == 1] > In my case, I have a list of 9 tuples. Each tuple has 30 items. The first > two items are 3-character strings, the remaining 28 itmes are floats. > > I want to create a new list from each tuple. But, I want the selection of > tuples, and their assignment to the new list, to be based on the values of > the first two items in each tuple. > > If I try, for example, writing: > > for item in mainlist: > if mainlist[item][0] == 'eco' and mainlist[item][1] == 'con': > ec.Append(mainlist[item][2:]) > > python doesn't like a non-numeric index. Hem... I'm afraid you don't understand Python's for loops. The above should be: ec = [] for item in mainlist: if [item][0] == 'eco' and item[1] == 'con': ec.append(item[2:]) which can also be written: ec = [item[2:] for item in mainList \ if item[0] == 'eco' and item[1] == 'con'] > I would really appreciate a pointer so I can learn how to manipulate lists > of tuples by referencing specific items in each tuple (string or float). Did you actually tried reading some Python 101 material ? -- http://mail.python.org/mailman/listinfo/python-list