What my code is supposed to do, is to run through a text file (which I've stored in a dict with
linenum as the keys), and then search each line for a word from
Lwordli. If the program finds the word, then loop through the different Lists stored in my
MasterLi to identify if one or more other words in that sentence match up to what is in the lists. If it does, then do
condition, if not, then move on to the
elif condition and check another list, etc. Then do that for each sentence in
I have multiple lists which i need to store inside 1 master for an if-else statement. I'm currently just trying something like this:
Li1 =  Li2 =  MasterLi = Li1, Li2 Lwordli = 
Then this is an example of how it would need to run inside my code with some of my actual code which is throwing back an error, if anyone can think of a better way than four For loops, that would be helpful, but main focus is how to call individual lists from Master:
for key, value in Txt.items() for cword in MasterLi: #Outer List loop for lword in lwordli: for section in value: pattern = r'\b' + re.escape(lword) + r'\b.*\b' + re.escape(cword) + r'\b|\b' + re.escape( cword) + r'\b.*' + re.escape(lword) + r'\b' if re.search(pattern, section, re.I | re.M): if cword in Li1: # Do condition elif cword in Li2: # Do condition etc.
Traceback (most recent call last): File "C:/Users/Lewis Collins/PycharmProjects/Test/main.py", line 134, in <module> languagemodel() File "C:/Users/Lewis Collins/PycharmProjects/Test/main.py", line 94, in languagemodel cword) + r'\b.*' + re.escape(lword) + r'\b' File "C:\Users\Lewis Collins\AppData\Local\Programs\Python\Python35-32\lib\re.py", line 267, in escape return bytes(s) TypeError: 'str' object cannot be interpreted as an integer
I believe this error is caused by how I'm trying to store lists inside a Master list to be called as my code works perfect if i attempt to do for loop as:
for word in Li1:
To create a master list that contains elements of all the lists, you can use the
+ operator, i.e.
MasterLi = Li1 + Li2. You can also achieve this by using the
extend method of lists. Your current approach is creating a tuple of lists, which does not seem to be what you need.