Python随机数列表在vim中执行

2024-04-20 12:31:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用python命令在vim中创建一个随机数列表。你知道吗

这很好:

,!python -c "import random; print([random.uniform(1,10) for i in range(7)])"

但它会覆盖当前行,不会在新行上添加所有数字,并且无法格式化输出
我知道我可以使用这样的print '%04.3f' %但是它用当前的buffername扩展了%。你知道吗

如何在每一行中添加一个新的数值?
这一切都来自vim命令行(我不想使用外部python脚本)。你知道吗

附言:
我知道在vim中也可以使用reltime()reltimestr创建随机数,但我注意到它不是随机的,随机的,python生成数字的速度要快得多。你知道吗


Tags: 命令行inimport命令脚本列表forrange
1条回答
网友
1楼 · 发布于 2024-04-20 12:31:05

使用:r!命令插入命令的结果,而不是替换。你知道吗

:r!python -c "import random; print('\n'.join(str(random.uniform(1,10)) for i in     range(7)))"

注意。Python代码被稍微修改为打印多行。你知道吗

  • 使用生成器表达式和^{}
  • 我应该将float转换为str来使用str.join。你知道吗

要使用^{},需要使用反斜杠转义%

:r!python -c "import random; print('\n'.join('\%04.3f' \% random.uniform(1,10) for i in range(7)))"

或者,可以使用^{}^{}而不是^{} operator

:r!python -c "import random; print('\n'.join('{:04.3f}'.format(random.uniform(1,10)) for i in range(7)))"

相关问题 更多 >