You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python推导式中如何访问字符串索引实现字符按规则重复拼接

实现代码

直接给出符合要求的列表推导式写法,可直接运行验证:

names = ["Cola", "Salah"]
names1 = [''.join(c * (i + 1) for i, c in enumerate(s)) for s in names]
print(names1)
# 输出:['Coolllaaaa', 'Saalllaaaahhhhh']

原理解释

  • 外层遍历每个原字符串s
  • 内层通过enumerate(s)同时获取每个字符的索引i和字符本身c,因为Python的enumerate默认从0开始计数,所以重复次数用i + 1就能匹配「按对应索引重复」的要求
  • 最后用str.join()把同一字符串下的所有重复后的字符拼接成完整字符串

Unicode兼容处理

Python 3的字符串原生支持Unicode编码,上述代码对普通单码点Unicode字符(如中文、韩文、常规emoji等)可直接正常处理。
如果需要处理带组合标记的复杂Unicode字形(比如带声调的拼音字符、带修饰符的emoji等),避免将单个字形拆分为多个独立元素,可以使用regex库的字形匹配规则优化,示例如下:

import regex
names = ["Café", "你好🌷"]
names1 = [''.join(g * (i + 1) for i, g in enumerate(regex.findall(r'\X', s))) for s in names]

内容的提问来源于stack exchange,提问作者Coder20192020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:06:00