python - 在 Python 2.7 中使用多个占位符格式化程序打印字符串

标签 python string list printing formatting

我正在尝试在 Python 2.7.10 中创建一个算法,该算法接受用户输入,将其拆分并将单词放入列表中,然后从该列表中取出所有单词并以特定方式打印它们。

usr_input = raw_input(' > ')

input = usr_input.split(' ')

print "You think that the painting is:"
print "%s" + ", %s" * len(input) + "." % ( > ? < )

%s 格式化程序用作占位符。问题在于,作为字符串一部分打印的占位符的数量不固定,它等于 len(input)。因此我不知道如何为这些格式化程序分配值。 (这是括号内的“> ? < ”部分。)

注意:由于这仅用于测试目的,我们假设用户仅输入字符串,而不是整数等,因此不需要 %r 格式化程序。

所需的输出应如下所示:

 > nice pretty funny
You think that the painting is:
nice, pretty, funny.

我知道这可以使用 str.join(str) 方法来实现,但是有没有办法按照我上面的解释来实现呢?谢谢。

最佳答案

使用print ("%s"+ ", %s"* (len(input) - 1) + ".") % tuple(input)

但是,IMO ', '.join(input) + '.' 更好:)

关于python - 在 Python 2.7 中使用多个占位符格式化程序打印字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36918438/

相关文章:

c++ - 使用 std::string 作为字符数组

python - 从对象列表中获取属性的最大值

python - 使用多个分隔符在 python 中拆分字符串的最佳方法 - 同时保留分隔符

java - 组合 Xml 字符串拆分 Java

python 初始化 dict 列表可能只是复制引用

python - 从 csv 读取项目并更新另一个 csv 中的相同项目

python - 将 pyspark 数据帧转换为标记点对象

python - 无法将文章插入 MySQL Python

python - 为什么同行打印之间没有延迟?

python - 将 ssl 证书信息从 nginx 传递到 flask