【问题标题】:\t didn't appear in the for loop\\它没有出现在for循环中
【发布时间】:2022-12-03 21:50:41
【问题描述】:

我正在练习格式函数,当我在其中使用带有 \t 的代码时,前 9 个输出没有任何大空间 `

import random
lst = [random.randint(1,100) for i in range(51)]
for index, val in enumerate(lst):
    print(f'{index=}\t{val=}')

`

它适用于 \n 但不适用于 \t,我不知道为什么。谁能解释一下?

【问题讨论】:

  • 我运行了你的代码,它成功了,你确定吗?
  • 前 9 个输出是 7 个字符,然后是制表符(填充到 8 个),然后继续。但是,当 index 为 10 时,您的 'index=10' 恰好是 8 个字符,因此之后您会得到一个完整的选项卡。它正在做你告诉它做的事

标签: python


【解决方案1】:

它只是遵循制表符约定的终端(考虑 4 个空格)。所以在 前后加空格。

【讨论】:

  • 4个空格?你确定吗?
  • 那不是问题所在。问题是下一个制表位的位置
【解决方案2】:

所有结果都有

使用python yourcode.py | cat -T 运行您的代码

这是结果。 ^I 是选项卡。

猫的手册页说

  -T, --show-tabs
         display TAB characters as ^I
$ python yourcode.py | cat -T
index=0^Ival=14
index=1^Ival=46
index=2^Ival=87
index=3^Ival=83
index=4^Ival=28
index=5^Ival=77
index=6^Ival=34
index=7^Ival=66
index=8^Ival=64
index=9^Ival=80
index=10^Ival=28
index=11^Ival=21
index=12^Ival=64
index=13^Ival=79
index=14^Ival=92
index=15^Ival=67
index=16^Ival=69
index=17^Ival=50

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多