gpt4 book ai didi

python - 常见的 lisp 格式指令来打印列表

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:33 30 4
gpt4 key购买 nike

免责声明:如何在 python 中打印列表的问题已经多次涉及,因此,这个问题不问如何打印列表,而是问是否存在打印列表的特定方式(使用格式指令)。

第一个命中的是谷歌搜索如何在 python 中使用 format 打印列表是 here它看起来像:

print('\n'.join('{}'.format(k) for k in lst))

是要走的路。但我一直想知道是否有类似 lisp 的格式指令可以在没有冗长的连接操作的情况下执行此操作。例如。在 common lisp一个人会简单地写:

(FORMAT T "~%~{~a~%~}" list-i-want-printed)

~{...~} 基本上意味着遍历列表

~a 基本上意味着接受一个参数并使用它的(或默认的)print/to-string 指令打印它

~%换行符

python中有这样的格式指令吗?

作为一个更详尽的例子,为什么我想使用这样的指令:鉴于您有 3 个列表,您希望在彼此下方打印。 lisp FORMAT 将允许:

(FORMAT T "~{~a~}~%~{~a~}~%~{~a~}~%" list-1 list-2 list-3)

而 python 解决方案看起来像:

print(''.join('{}'.format(k) for k in lsta) + '\n' + ''.join('{}'.format(k) for k in lstb) + '\n' + ''.join('{}'.format(k) for k in lstc))

不太精致。

最佳答案

我认为基本答案是“否”,但您可以稍微改进您的示例:

print( ' '.join(  '{}'.format(k) for k in lsta+lstb+lstc  ) )

没有换行符。如果我想在每个列表后换行,我会这样做

for lst in (lsta,lstb,lstc):
print( ' '.join( '{}'.format(k) for k in lst ) )

关于python - 常见的 lisp 格式指令来打印列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36714595/

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