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

字符串转集合后如何保留首次出现字符顺序且不使用reverse函数?

实现保留首次出现字符的去重(无需reverse)

你用set处理字符串后得到无序结果,是因为集合本身不保证元素顺序。要保留字符首次出现的顺序且不用reverse,可以试试这两种方法:

方法1:手动遍历记录已出现字符

直接遍历原字符串,用列表存已经见过的字符,遇到新字符就加进去,最后拼接成字符串:

x = 'ABBA'
seen_chars = []
for c in x:
    if c not in seen_chars:
        seen_chars.append(c)
print(''.join(seen_chars))  # 输出 AB

方法2:利用Python3.7+的有序字典特性

Python3.7及以上的字典会保留键的插入顺序,用dict.fromkeys()可以快速基于原字符串生成键为字符的字典(自动去重),再提取键拼接即可:

x = 'ABBA'
print(''.join(dict.fromkeys(x)))  # 输出 AB

这个写法更简洁,底层逻辑是字典的键只会保留首次出现的那个,且顺序和原字符串一致,完全不需要反转操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:39:30