title: Iterating Through List of Strings, Find Keywords and Print
body: <p>Take two lists composed of strings:</p>
  <pre><code>strings = ['hello everyone!', 'how are you doing?', 'are you doing well?', 'are you okay?', 'good, me too.']
  searching_for = ['are', 'you', 'doing']
  </code></pre>
  <p>My goal is to search <code>strings</code> for every item in <code>searching_for</code> and print the full string that contains those keywords. i.e., I want my output to be:</p>
  <pre><code>Output: ['how are you doing?', 'are you doing well?']
  </code></pre>
  <p>Notice that the output is only the 2nd and 3rd items in <code>strings</code>, that it does not contain the 4th item.</p>
  <p>I'm not sure why this is so difficult for me, but I think it boils down to me not knowing Python well enough yet. I want to make this general enough such that I can search a very large list of strings for keywords I give it. Here's my solution so far:</p>
  <pre><code>def search(*args):
      arg_list = []
      search_for = numpy.append(arg_list, args)
      
      for i in strings:
          for j in search_for:
              if all(j in i) is True:
                  print(i)
  </code></pre>
  <p>But this throws a <code>TypeError: 'bool' object is not iterable</code>. I've tried a few different iterations of the above code, using Pythons built-in <code>filter</code> function and a few others, but I keep getting hung up on similar errors. I'm also unsure if this will give me a list, I think it'll spit out the result on a new line in the terminal.</p>