antar2 a écrit :
Hello


Suppose I have a textfile (text1.txt) with following four words:

Apple
balcony
cartridge
damned
paper
bold
typewriter

and I want to have a python script that prints the words following the
word starting with the letter b (which would be cartridge) or
differently put, a script that prints the element following a
specified element:

def next_if(predicate, iterable):
    if not hasattr(iterable, next):
        iterable = iter(iterable)
    for element in iterable:
        if predicate(element):
            yield iterable.next()


f = open('/home/bruno/text1.txt', 'r')
for elt in next_if(lambda x: x.startswith('b'), f):
    print elt.strip()
f.close()


I am more experienced in Perl, and a beginner in python

I wrote a script that - of course - does not work, that should print
the element in a list following the element that starts with a b

import re
f = open('text1.txt', 'r')
list1 = []
list2 = []
for line in f:
        list1.append(line)
a = re.compile("^b")
int = 0
while(int <= list1[-1]):
        int = int + 1
        a_match = a.search(list1[int])
        if(a_match):
                list2.append(list1[int + 1])
print list2

f = open('text1.txt')
lines = f.readlines()
f.close()
matchings = [
   next for line, next in zip(lines, lines[1:])
   if line.startswith('b')
   ]

print matchings
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to