आप अपने लूप के लिए एक स्ट्रिंग बना रहे हैं जो re.compile
. की सूची नहीं है वस्तुओं। आप चाहते हैं:
collected_x = [] # Initialize an empty list
for x in input: # Iterate over input
collected_x.append(re.compile(x)) # Append re.compile object to list
collected_x_cut = collected_x[:-2] # Slice the list outside the loop
cursor = db.collection.find({"key": {"$all": collected_x_cut}})
एक आसान तरीका होगा map
का उपयोग करना
सूची बनाने के लिए:
collected = map(re.compile, input)[:-2]
db.collection.find({"key": {"$all": collected}})
या एक list comprehension
:
collected = [re.compile(x) for x in input][:-2]
db.collection.find({"key": {"$all": collected}})