文字列から重複している文字を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を返します。この重複リストには、重複した文字のリストが入っています。