我不得不多次创建与此类似的代码:
if condition():
word = " not"
else:
word = ""
print "A five ounce bird could{0} carry a one pound coconut".format(word)
我在这里把问题精简了,在“实践”中,“A”
、“five”
、“bird”
、“a”
、“one”
和 “coconut”
这样它们都可能发生变化,并且与他们一起,添加了复数 s-es 和诸如此类的东西。
它总是让我觉得有点不尽如人意。 “not”
之前需要的额外空间和 {0}
之前缺少空格都令人讨厌,但是因为如果 word 我不想在那里有两个空格
是空的,我看不到任何其他方法。
创建两个单独的消息中断 DRY由于可能的组合数量太多,有时甚至不可行。
有没有更优雅的方法来做到这一点?
最佳答案
创建一个单词列表,必要时插入,然后 ' '.join(words)
它们。
如果有逗号/句号,构建句子结构:
[['If', 'there', 'are', 'periods'], ', ', ['build', 'a', 'sentence', 'structure'], '.']
在句点中使用相应的空格(逗号后的空格,括号前的空格,...)然后 ' '.join()
组内的单词和 ''.join()
各个组。 (感谢@Alfe 提出以不同方式加入单词和组的建议)。
关于python - 也许在字符串中添加额外的句子/单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718719/