2024-09-28 19:07:30 发布
网友
代码如下:
a = ['foo', 'bar', 'doh', 'rae']
我想要字符串SUM(foo) AS foo, SUM(bar) AS bar, SUM(doh) AS doh, SUM(rae) AS rae。这是有效的:
SUM(foo) AS foo, SUM(bar) AS bar, SUM(doh) AS doh, SUM(rae) AS rae
尝试了一些类似'SUM(%s) AS %s' % ([x for x in a], [x for x in a])这样的聪明方法,但显然行不通,使用两种列表理解方法效率低下。在
'SUM(%s) AS %s' % ([x for x in a], [x for x in a])
有什么提示吗?在
为什么不使用str.format method?在
", ".join(['SUM({n}) AS {n}'.format(n=x) for x in a]) # Returns SUM(foo) AS foo, SUM(bar) AS bar, SUM(doh) AS doh, SUM(rae) AS rae
如果a是一个大列表,那么您可能需要使用一个生成器,以避免首先在内存中创建整个列表,正如GWW所指出的那样。在
a
你可以使用str.格式函数在一个字符串中两次传递一个参数,如下所示:
s = ', '.join(['SUM({0}) AS {0}'.format(x) for x in a])
通过一个列表理解和一个连接操作,它可以产生所需的输出
你好!在
为什么不使用str.format method?在
如果
^{pr2}$a
是一个大列表,那么您可能需要使用一个生成器,以避免首先在内存中创建整个列表,正如GWW所指出的那样。在你可以使用str.格式函数在一个字符串中两次传递一个参数,如下所示:
通过一个列表理解和一个连接操作,它可以产生所需的输出
^{pr2}$你好!在
相关问题 更多 >
编程相关推荐