2015-10-24 43 views
1

我试着写一个有2个变量(整数),并且根据这些变量print's他们加入,并通过订单(数量较少以上)的程序:我如何排序元组?

像这样:

在一起(( 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

I'm收到此:

(1, 23, 40, 9, 90) 

这超出您可以看到它的顺序应该如下:

(1,9,23,40,90) 

回答

1

为什么不只是追加这两个元组,然后对它们进行排序:

def together(s,t): 
    return tuple(sorted(s + t)) 
+0

有没有,你可以通过对比,看看这些数字来自做到这一点任何其他方式“ y'变量已经被排序,如果不是这样做,整个计划? – rockethon

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

这可以结合起来,一个元组内排序N number of tuples,所以它不局限于两个元