python program 2元组作为参数,并返回一个排序的元组,其中包含在两个元组中找到的元素

RVR*_*RVR 0 python tuples

我的代码:

def commonElements(t1 ,t2):
    t1 = sorted(t1)
    t2 = sorted(t2)
    t3 = set([])
    for i in t1:
        for j in t2:
            if i == j:
               t3.add(i)
        return t3
print commonElements((1, 2, 3), (2, 5, 1))
Run Code Online (Sandbox Code Playgroud)

对于上面的代码我输出为:

set([1, 2])
Run Code Online (Sandbox Code Playgroud)

预计应该是:

  (1, 2)
Run Code Online (Sandbox Code Playgroud)

常见元素是以集合的形式打印.如何将set转换为元组?

gsi*_*ank 5

我会将这两个参数转换为Python的set类型,然后使用两个集合之间的set intersection运算符.之后,您可以根据需要将结果转换为元组.

def commonElements(t1 ,t2):
    return tuple(set(t1) & set(t2))
Run Code Online (Sandbox Code Playgroud)

根据你的例子:

>>> commonElements((1, 2, 3), (2, 5, 1))
(1, 2)
Run Code Online (Sandbox Code Playgroud)

  • 如果可能,请避免发布仅代码的答案.随附您的代码,解释它正在做什么以及它是如何工作的. (2认同)