在Python中合并和排序元组

时间:2015-10-24 18:29:57

标签: python

程序应该是这样的:

together((0,39,100,210),(4,20))

打印以下内容:

(0,4,20,39,100,210)

代码:

def together(s,t):
    y = s + t
    z = 0
    if sorted(y) == y:
        print (y)
    else:
        for i in range(len(y)-1):
            if y[z] > y[z+1]:
                y[z+1] = y[z]
        return (y)
   print y

如果变量设置如下:

s=1,23,40

t=9,90

我得到了这个:

(1, 23, 40, 9, 90)

这是乱序的,因为你可以看到它应该出现如下:

(1,9,23,40,90)

有没有其他方法可以通过使用比较来查看'y'变量中的数字是否已经排序,如果没有对整个方案进行排序? 使用一种类似的代码,你可以用它来查看更大的数字:

def bigger(t): 
     bigger = 0 
     for i in range(len(t)-1): 
        if t[i] > bigger: 
        bigger = t[i] 
return bigger

这是否可以通过上述解决方案获得相同的结果?

1 个答案:

答案 0 :(得分:0)

T = ((0,39,100,210),(4,20))    
print tuple( sorted( reduce(tuple.__add__, T) ) )

T是你的together元组....它使用reduce和内置__add__元组功能来完成工作......