Dirk Hagemann wrote: > Hi! > > I have a list of lists and in some of these lists are elements which I > want to change. > Here an example: > lists=[('abc', 4102, 3572), ('def', 2707, 'None'), ('ghi', 'None', 4102)] > > 'None' should be replaced by 0 or NULL or something else.
Your list is a list of tuples, and what you want here is to replace an element of a tuple - which is not directly possible since tuples are immutables (but of course there's a way... !-) > But as far as > I know the replace function of the module string does not work for > lists. Nope, but you can still replace or modify an element of a list. here a (very Q&D and probably naive and suboptimal) possible solution: def my_replace(alist, target, replacement): """Takes a list of tuples and for each tuple 'replace' target with 'replacement """ for i, t in enumerate(alist): l = list(t) while target in l: l[l.index(target)] = replacement alist[i] = tuple(l) my_replace(lists, 'None', 'NULL') HTH -- bruno desthuilliers ruby -e "print '[EMAIL PROTECTED]'.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')" python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list