文字列から重複している文字をPythonで抽出する

文字列内の重複文字を抜き出すには集合(set)を使えます。集合は重複しない要素のみを持つため、集合の性質を利用して、重複文字を見つけることができます。

例のコードを以下に示します。

def find_duplicate_chars(s):
    # 创建一个空集合
    chars = set()
    # 创建一个空列表,用于存储重复的字符
    duplicates = []
    
    # 遍历字符串中的每个字符
    for char in s:
        # 如果字符已经在集合中,说明它是重复的字符
        if char in chars:
            # 将重复的字符添加到列表中
            duplicates.append(char)
        else:
            # 将字符添加到集合中
            chars.add(char)
    
    return duplicates

# 调用函数并打印结果
string = "hello world"
result = find_duplicate_chars(string)
print("重复的字符:", result)

出力は次のとおりになります。

重复的字符: ['l', 'o']

find_duplicate_chars()というサンプル関数は、文字列を引数として受け取り、重複した文字を含むリストを返します。関数の中では、すでに登場した文字を保存するための空集合charsを作成します。その後、文字列内の各文字に対して、文字が集合内にある場合は重複した文字として判断し、重複リストduplicatesに追加します。文字が集合にない場合は集合に追加します。最後に、この重複リストduplicatesを返します。この重複リストには、重複した文字のリストが入っています。

bannerAds