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

时间:2017-09-01 05:02:02

标签: 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))

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

set([1, 2])

预计应该是:

  (1, 2)

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

2 个答案:

答案 0 :(得分:5)

我会将这两个参数转换为Python的public function getBlockPrefix() { return 'name of your form type'; } 类型,然后使用两个集合之间的set intersection运算符。之后,您可以根据需要将结果转换为元组。

set

根据你的例子:

def commonElements(t1 ,t2):
    return tuple(set(t1) & set(t2))

答案 1 :(得分:0)

在您的示例中,您需要返回已排序的元组。我将添加到@ gsi-frank的答案sorted()方法中。

def commonElements(t1, t2):
    return tuple(sorted(set(t1) & set(t2)))