以下是一个比较两个字符串并返回不同部分的示例代码:
def compare_strings(str1, str2):
index = 0
diff_parts = []
while index < len(str1) and index < len(str2):
if str1[index] != str2[index]:
diff_parts.append((str1[index], str2[index]))
index += 1
if len(str1) > len(str2):
for i in range(index, len(str1)):
diff_parts.append((str1[i], None))
elif len(str2) > len(str1):
for i in range(index, len(str2)):
diff_parts.append((None, str2[i]))
return diff_parts
# 示例用法
str1 = "abcdefg"
str2 = "abcxyz"
result = compare_strings(str1, str2)
print(result)
输出:
[('d', 'x'), ('e', 'y'), ('f', 'z'), ('g', None)]
这个示例中,我们定义了一个compare_strings
函数,它接受两个字符串作为参数。通过迭代比较两个字符串中的每个字符,找出不同的部分,并将其作为元组(str1[i], str2[i])
添加到diff_parts
列表中。
如果其中一个字符串比另一个长,我们将继续迭代较长的字符串,并将缺失的字符与None
作为元组的一部分添加到diff_parts
列表中。
最后,我们返回diff_parts
列表作为结果。
在示例中,我们比较了字符串"abcdefg"
和"abcxyz"
,并得到了不同部分:[('d', 'x'), ('e', 'y'), ('f', 'z'), ('g', None)]
。