python - 连接字符串的每两个字符

标签 python string slice

我是 Python 新手。我有一个字符串:

food = "popcorns"
beverage = "water"

如何创建一个连接每两个字符并跳过第三个字符的新字符串?像这样:

PO-CO-NS 和 WA-ER

这样新的字符串就变成了

new_food = pocons
new_beverage = waer

我正在尝试使用这种串联从无限字符串构建一个新的 100 个字符的字符串。这是我到目前为止所拥有的:

infinite_string
for i in range(0, 32):
    new_string += infinite_string[i: i + 1: 3]

我知道这是不对的。感谢任何帮助

最佳答案

你可以使用:

''.join([c for i, c in enumerate(inputstring, 1) if i % 3])

演示:

>>> food = "popcorns"
>>> beverage = "water"
>>> ''.join([c for i, c in enumerate(food, 1) if i % 3])
'pocons'
>>> ''.join([c for i, c in enumerate(beverage, 1) if i % 3])
'waer'

另一种方法是在第一次创建列表后删除每三个字符:

characters = list(inputstring)
del characters[2::3]
result = ''.join(characters)

演示:

>>> characters = list(food)
>>> del characters[2::3]
>>> ''.join(characters)
'pocons'

关于python - 连接字符串的每两个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25824519/

相关文章:

python - 如何使用约束对 python 中的特定字符进行切片?

python - 如何使用 Python 拦截和操纵网络流量?

Python smtplib sendmail() 不适用于主题/正文

python - 在python中提取两个字符串之间的字符串?

python - 区分python中分隔符[[]]和[[]]之间的单词

loops - 如何将多个值从模板传递到模板?

python - pypi 包装和 secret : why does a github--intended . travis.yml 持有密码?

c# - 字符串拆分逻辑 C#

Ruby Unicode 和字符串插值问题

arrays - Matlab数组的动态切片