【发布时间】:2020-03-07 12:16:58
【问题描述】:
我正在尝试输出一个 SUMS 列表和一个正则表达式列表的输入。 代码(带有 Oracle DB 的 Python)如下所示:
**my_query** = """SELECT SUM(col) FROM table t WHERE REGEXP_LIKE(t.col2, {reg_expr})"""
outer_list_of_regex = [[reg1,reg2,reg3],[reg4,reg5,reg6],[reg7,reg8,reg9],[reg10,reg11,reg12]]
list_of_sums = []
for inner_list_of_regex in outer_list_of_regex:
temp_list = []
for regex in inner_list_of_regex:
inner_list.append(**my_query**.format(reg_expr = regex))
查询的输入是正则表达式列表的列表。输出具有相同的格式,但是以与输入相同的格式和相应位置返回的每个元素的总和。 这种结构适用于短列表,但一旦扩展到合理的长度,投入生产就太慢了。有没有办法在没有嵌套 for 循环的情况下重新配置它?
例如,也许一个带有嵌套列表的查询可以输出每个相应正则表达式的总和。
query = """select ([SUM(reg1),SUM(reg2),SUM(reg3)],[SUM(reg4)....]) FROM table t WHERE t.col2 == {outer_list_of_regex}"""
【问题讨论】: