python中有没有一种方法可以比较字符串的唯一字符

python中有没有一种方法可以比较字符串的唯一字符,python,string-comparison,Python,String Comparison,假设我有一个字符串列表 ['elvis','elo','eels','acdc'] 是否有函数接受此字符串并为每个字符串返回唯一字符?例如,在这种情况下,我希望 ['e','l','s','a'] 编辑:澄清我的意思 我想要一个函数,它将返回基于输入列表成员的标识符字符或字符串。答案和一是一个很好的例子 我想我明白你的意思了。这没有内置的 如果我错了,请纠正我,但似乎您希望在每个字符串中获取第一个尚未获取的字符,并且只获取一个 这里有一些代码可以做到这一点 def get_first_not

假设我有一个字符串列表

['elvis','elo','eels','acdc']
是否有函数接受此字符串并为每个字符串返回唯一字符?例如,在这种情况下,我希望

['e','l','s','a']
编辑:澄清我的意思


我想要一个函数,它将返回基于输入列表成员的标识符字符或字符串。答案和一是一个很好的例子

我想我明白你的意思了。这没有内置的

如果我错了,请纠正我,但似乎您希望在每个字符串中获取第一个尚未获取的字符,并且只获取一个

这里有一些代码可以做到这一点

def get_first_not_know(l):
    chars = []
    for word in l:
        for letter in word:
            if letter not in chars:
                chars.append(letter)
                break
    return chars

如果你不在乎字母的顺序,你可以使用集合做一些更快的事情。

假设Benoît Latinier对你的问题的解释是正确的(看起来是正确的),那么在某些情况下,会找不到唯一的字母,在这些情况下,你可能会抛出一个异常:

def unique_chars(words):
    taken = set()
    uniques = []

    for word in words:
        for char in word:
            if char not in taken:
                taken.add(char)
                uniques.append(char)
                break
        else:
            raise ValueError("There are no unique letters left!")

    return uniques

“每个字符串的唯一字符”是什么意思?您为什么从“acdc”中选择“a”,为什么不选择“d”?您所说的“唯一字符”是什么意思?您的输入列表和预期输出之间似乎没有明确的相关性-您能解释一下要求吗?如果找不到唯一字符,该怎么办?e、 g.如果输入列表是
['eee','eee']
,那么该怎么办?您是指当前不代表其他字符串之一的每个字符串的字符吗?所以['abcd',abcd',abcd',abcd',abcd']将输出['a',b',c',d']?再加上一个可以很好地猜测(即使OP的意思是其他:)我想你需要
在这里返回字符。也就是说,我认为这是OP想要的,是一个相当不错的解决方案。我认为在某些情况下,从每个单词中获取第一个可能的字符会使您陷入困境,即使存在可能的解决方案,但这是一个非常好的第一步。