python - 如何在 python 中交替地将 2 个字符添加到字符串中?

标签 python string math join

例如,我有字符串“12345”和字符串“+*”,我想让新字符串为“1+2*3+4*5”,在第二个字符串中的两个字符。我知道如何使用 join() 对一个字符执行此操作,但我只是不知道如何交替使用两个字符。任何帮助将不胜感激。谢谢!

最佳答案

您可以使用itertools.cycle()永远在字符之间交替:

from itertools import cycle 

result = ''.join([c for pair in zip(inputstring, cycle('+*')) for c in pair])[:-1]

您确实需要删除最后添加的 +,但这确实可以正常工作:

>>> from itertools import cycle
>>> inputstring = '12345'
>>> ''.join([c for pair in zip(inputstring, cycle('+*')) for c in pair])[:-1]
'1+2*3+4*5'

关于python - 如何在 python 中交替地将 2 个字符添加到字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27082554/

相关文章:

math - O(n^(1/logn)) 实际上是常数吗?

JavaScript 数学错误

python - 了解 Keras LSTM 中的字符级嵌入

c++ - 存储和访问字符串集合 (STD C++)

java - 如果我调用两次 bufferreader 会引用哪里

matlab - 如何在 Matlab 中使用多重线性函数?

python - PyQt5:如何使用signal+slot为paintEvent传递参数?

python - 同时在不同目录 (os.chdir) 中工作(并行线程)

Pythondecimal.Decimal以科学记数法产生结果

c - 如何扫描 C 中的数组部分寻找匹配用户输入