M. Clift wrote: > Now I know that the code is hopelessly wrong [...] > Could someone show me a short way >>> items = "item1 item4 item2 item1".split() >>> [i + random.choice(dict(item1="abc", item2="def").get(p, [""])) for (p, i) in zip(items[-1:]+items[:-1], items)] ['item1c', 'item4c', 'item2', 'item1f'] Peter