zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python编程经典案例【考题】找出两个字符串中相同字符和不同字符

Python案例字符经典编程 字符串 不同 两个
2023-06-13 09:15:01 时间

本文和你一起探索Python编程经典案例,让你沉浸式学习Python。

你可以拿着题目先思考,然后再对照本文解题方法进行比较。有不同的见解欢迎跟我一起探讨。

本文目录

  1. 经典案例【考题】 1.1 找出两个字符串中相同字符 1.2 找出两个字符串中不同字符
  2. 经典案例解题方法 2.1 找出两个字符串中相同字符 2.2 找出两个字符串中不同字符(英文) 2.3 找出两个字符串中不同字符(中文)

一、经典案例【考题】

问题1:找出两个字符串中相同字符。

输入:

str1 = 'aaabbg'

str2 = 'abcdef'

输出:

same_str = ['a', 'b']

问题2:找出两个字符串中不同字符。

输入:

str1 = 'aaabbg'

str2 = 'abcdef'

输出:

nsame_str = ['g', 'c', 'f', 'd', 'e']

二、经典案例解题方法

实例一:找出两个字符串中相同字符

实现思路:把其中一个字符串转成集合,应用for循环遍历集合中的元素,若该元素在另一个字符转成的集合中,则该字符为两个字符串中的相同字符。

具体代码如下:

str1 = 'aaabbg'
str2 = 'abcdef'
same_str = []
for i in set(str1):
    if i in set(str2):
        same_str.append(i)
same_str

得到结果:

['a', 'b']

如对循环不是很理解,可先看下让你彻底弄懂【python循环语句】一文。

实例二:找出两个字符串中不同字符(英文)

实现思路:把其中一个字符串转成集合,应用for循环遍历集合中的元素,若该元素不在另一个字符转成的集合中,则该字符为两个字符串中不同字符。两个字符串轮换操作一下,就可以得到全部不同字符。

具体代码如下:

str1 = 'aaabbg'
str2 = 'abcdef'
nsame_str = []
for i in set(str1):
    if i not in set(str2):
        nsame_str.append(i)
for i in set(str2):
    if i not in set(str1):
        nsame_str.append(i)
nsame_str

得到结果:

['g', 'd', 'e', 'c', 'f']

可以手动验证,结果是一致的。

实例三:找出两个字符串中不同字符(中文)

实现思路:见实例2。

具体代码如下:

str1 = '好好学习,天天向上'
str2 = '你好我好大家好'
nsame_str = []
for i in set(str1):
    if i not in set(str2):
        nsame_str.append(i)
for i in set(str2):
    if i not in set(str1):
        nsame_str.append(i)
nsame_str

得到结果:

['学', '天', '向', ',', '上', '习', '你', '大', '家', '我']

可以手动验证,结果是一致的。

至此,Python中的编程经典案例【考题】找出两个字符串中相同字符和不同字符已讲解完毕。