Python iterative loop -
i'm trying iterate through search list, i've written in c want re-write more pythonic.
i've been trying enumerate
can't seem work, searching lines of data key-words saved in array called strings, can show me or explain correct python syntax please.
thanks
for line in f: jd = json.loads(line) n=0 while n<=(len(strings)-1): if findwholeword(strings[n])(line) != none: print (jd['user_id'], jd['text']) break n=n+1
there seems no need use enumerate
here. iterate on strings
directly:
for s in strings: if findwholeword(s)(line) != none: print (jd['user_id'], jd['text']) break
if need index variable n
, use enumerate
:
for n, s in enumerate(strings): if findwholeword(s)(line) != none: # n here? print (jd['user_id'], jd['text']) break
but since break
after first match anyway, use any
builtin:
if any(findwholeword(s)(line) != none s in strings): jd = json.loads(line) print (jd['user_id'], jd['text'])
also, pointed out in @ben's answer, can improve performance of check turning either strings
or line
set
of words , using in
operator check whether word 1 set in other. difficult tell without knowing findwholeword
doing.
Comments
Post a Comment