Andrew Zyman wrote: > Hello, > please advise. > > I'd like search and append the internal list in the list-of-the-lists. > > Example: > ll =[ [a,1], [b,2], [c,3], [blah, 1000] ] > > i want to search for the internal [] based on the string field and, if > matches, append that list with a value. > > if internal_list[0] == 'blah': > ll[ internal_list].append = [ 'new value'] > > End result: > ll =[ [a,1], [b,2], [c,3], [blah, 1000, 'new value'] ]
>>> outer = [["a", 1], ["b", 2], ["c", 3], ["blah", 1000]] >>> for inner in outer: ... if inner[0] == "blah": ... inner.append("new value") ... >>> outer [['a', 1], ['b', 2], ['c', 3], ['blah', 1000, 'new value']] While this is what you are asking for it will get slower as the list grows. A better solution uses a dictionary: >>> outer = [["a", 1], ["b", 2], ["c", 3], ["blah", 1000]] >>> lookup = {inner[0]: inner[1:] for inner in outer} >>> lookup {'a': [1], 'blah': [1000], 'b': [2], 'c': [3]} >>> lookup["blah"].append("whatever") >>> lookup {'a': [1], 'blah': [1000, 'whatever'], 'b': [2], 'c': [3]} -- https://mail.python.org/mailman/listinfo/python-list