【问题标题】:How to concatenate char with numbers via loops [duplicate]如何通过循环将字符与数字连接起来[重复]
【发布时间】:2017-06-01 00:25:27
【问题描述】:

我以这种形式创建了一组名称:'s1', 's2', ..., 's100'。我以为我可以通过循环轻松做到这一点:

for i in range(100):
    print ('s'.format(i+1))

format 此处不附加数字。我只得到ss..ss 而没有用单引号连接数字。我知道如何在 Java 中做到这一点,但我不是 Python 方面的专家。谢谢

【问题讨论】:

  • 我感觉到XY Problem。为什么要这样做?
  • 另外,您难道没有阅读您尝试使用的功能的文档吗?
  • 或者只使用连接print 's'+str(i) -- python2.x

标签: python


【解决方案1】:

如果您使用 3.6,那么您可以利用新的“文字字符串插值”,并执行以下操作:

for i in range(100):
    print(f's{i + 1}')

有关此功能的更多详细信息,请查看PEP 498 -- Literal String Interpolation

【讨论】:

  • 不幸的是,我必须使用 Python 2x,因为我的模拟支持它。有解决办法吗?
  • 在这种情况下,按照@alecxe 的建议去做。
【解决方案2】:

您需要在format string 中有一个占位符

执行字符串格式化操作。此方法所在的字符串 被调用可以包含文字文本或 替换字段,由 大括号{}。每个替换字段都包含 位置参数,或关键字参数的名称。

for i in range(100):
    print ('s{0}'.format(i+1))

【讨论】:

  • 这很好用。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2020-07-31
相关资源
最近更新 更多