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