80 cursor.execute(
81 "SELECT id, name, description FROM products ORDER BY " + order_clause
82 )
83 products = [row for row in cursor.fetchall()] 84
85 # Close the cursor and connection
86 cursor.close()
47 "SELECT id, name, description FROM products WHERE " + where_clause,
48 tuple(filter_value.values()),
49 )
50 products = [row for row in cursor.fetchall()] 51
52 # Close the cursor and connection
53 cursor.close()
17 "SELECT id, name, description FROM products WHERE name ILIKE %s OR description ILIKE %s",
18 ("%" + query + "%", "%" + query + "%"),
19 )
20 products = [row for row in cursor.fetchall()] 21
22 # Close the cursor and connection
23 cursor.close()
26 ",".join([str(p) for p in browsing_history]),
27 ),
28 )
29 products = [row for row in cursor.fetchall()] 30
31 # Calculate the similarity score between the user and each product
32 scores = []
It is unnecessary to use a comprehension just to loop over the iterable
and create a list
/set
/dict
out of it.
Python has a specialized set of tools for this task: the list
/set
/dict
constructors, which are faster and more readable.
states = [
('AL', 'Alabama'),
('AK', 'Alaska'),
('AZ', 'Arizona'),
('AR', 'Arkansas'),
('CA', 'California'),
# ...
]
abbreviations_to_names = {
abbreviation: name
for abbreviation, name in states
}
states = [
('AL', 'Alabama'),
('AK', 'Alaska'),
('AZ', 'Arizona'),
('AR', 'Arkansas'),
('CA', 'California'),
# ...
]
abbreviations_to_names = dict(states)