Hello, I have a list of sql queries, some which are split across multiple list elements e.x. ['drop table sample_table;', 'create table sample_test', '(col1 int);', 'select col1 from', ' sample_test;']
A semi-colon in the string value indicates the termination of a sql query. So the expected out come is a conversion to a list of valid sql queries: ['drop table sample_table;', 'create table sample_test (col1 int);', 'select col1 from sample_test;'] Here is the code that does that: sample = ['drop table sample_table;', 'create table sample_test', '(col1 int);', 'select col1 from', ' sample_test;'] pure_sqls = [] query_holder= '' for each_line in sample: query_holder += each_line if query_holder.endswith(';'): pure_sqls.append(query_holder) query_holder = '' Is there a way to do this by eliminating explicit creation of new list(pure_sqls) and a temporary variable(query_holder)? Using list comprehension? Though I don't want to put the shorter version in production(if it is difficult to understand), I am looking if this can be done with list comprehension since I am trying to learn list comprehension by using it in such scenarios.
-- https://mail.python.org/mailman/listinfo/python-list