gpt4 book ai didi

python 字符串格式 : way to not use two lists?

转载 作者:行者123 更新时间:2023-11-28 23:05:36 24 4
gpt4 key购买 nike

使用以下代码:

a = ['foo', 'bar', 'doh', '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]) 但显然它没有用,并且使用两个列表推导式感觉效率极低。

有什么建议吗?

最佳答案

为什么不使用 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 指出的那样。

", ".join('SUM({n}) AS {n}'.format(n=x) for x in a)

关于python 字符串格式 : way to not use two lists?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5861907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com