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

Python遍历字符串获取唯一值遇阻:仅识别'A'如何解决?

问题分析与解决

你的代码核心问题是误用了break语句:当遍历到第二个'A'时,因为它已经在unique_letters列表里,break会直接终止整个循环,导致后续所有字符都没机会被处理。

修正后的代码

def letters_learned_today(word):
    unique_letters = []

    for letter in word:
        if letter not in unique_letters:
            unique_letters.append(letter)
    return unique_letters

word = 'AAABBVSCDDDERZAUJJFFPOUSST'
print(letters_learned_today(word)) 

去掉break后,程序会跳过重复字符,继续遍历整个字符串,把所有首次出现的字符加入列表。

更高效的实现方式

如果需要保留字符首次出现的顺序,Python 3.7+ 可以用dict.fromkeys()快速完成去重,代码更简洁:

def letters_learned_today(word):
    return list(dict.fromkeys(word))

word = 'AAABBVSCDDDERZAUJJFFPOUSST'
print(letters_learned_today(word)) 

如果不需要顺序,直接用集合set去重更高效(但集合是无序的):

def letters_learned_today(word):
    return list(set(word))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:05:22