Python3.x-如何找到两个字符串中字符集的交集

Python3.x-如何找到两个字符串中字符集的交集,python,python-3.x,Python,Python 3.x,这是我试图编辑的代码,但我不知道如何编辑: var1= 'ABC' var2= 'DBC' match= any(x in var1 for x in var2) if any(x in var1 for x in var2): print("var1 in var2") print("The letters that are in var1 and var2 are", match) else: print("No results.") 当我运行这些代码时,我得到的结

这是我试图编辑的代码,但我不知道如何编辑:

var1= 'ABC'
var2= 'DBC'
match= any(x in var1 for x in var2)
if any(x in var1 for x in var2):
    print("var1 in var2")
    print("The letters that are in var1 and var2 are", match)
else:
    print("No results.")
当我运行这些代码时,我得到的结果对我来说是无用的:

var1 in var2
The letters that are in var1 and var2 are True
我想让该计划做的是:

var1 in var2
The letters that are in var1 and var2 are BC
如果要将var1更改为ABD,我希望结果为:

var1 in var2
The letters that are in var1 and var2 are BD
另外,我还想让它按字母顺序打印字母: 所以我希望结果像
var1和var2中的字母是BD
,而不是
var1和var2中的字母是DB

多谢各位。 你的真诚

这张照片是:

var1 in var2
The letters that are in var1 and var2 are BC.
基本上,我使用列表理解来查找哪些元素是相同的,使用
if match
检查列表是否为非空,使用
sorted
函数进行排序,然后将每个元素连接成一个带有
''的字符串。join
(使用空字符串
'
连接,因为我们不希望字母之间有空格)

然后,为了避免在输出中使用逗号,我使用
%
格式语法将排序后的字符插入到输出语句中

这张照片是:

var1 in var2
The letters that are in var1 and var2 are BC.
基本上,我使用列表理解来查找哪些元素是相同的,使用
if match
检查列表是否为非空,使用
sorted
函数进行排序,然后将每个元素连接成一个带有
''的字符串。join
(使用空字符串
'
连接,因为我们不希望字母之间有空格)


然后,为了避免在输出中使用逗号,我使用
%
格式语法将排序后的字符插入到输出语句中。

您也可以使用set算术来完成此操作

>>> var1 = 'ABC'
>>> var2 = 'DBC'
>>> ''.join(set(var1).intersection(set(var2)))
'CB'
更改
var1

>>> var1 = 'ABD'
>>> ''.join(set(var1).intersection(set(var2)))
'BD'

您也可以使用集合算法来完成此操作

>>> var1 = 'ABC'
>>> var2 = 'DBC'
>>> ''.join(set(var1).intersection(set(var2)))
'CB'
更改
var1

>>> var1 = 'ABD'
>>> ''.join(set(var1).intersection(set(var2)))
'BD'

我在第3行得到了无效的语法,因为“对不起,纠正了错误。非常感谢。真的帮助了我。我在第3行得到了无效的语法,因为“对不起,纠正了错误。非常感谢。真的帮助了我。”。