我怎样才能对元组进行排序?

时间:2015-10-24 16:50:33

标签: python

我正在尝试编写一个包含2个变量(整数)的程序,并根据这些变量打印它们的连接和顺序(较小的数字到更高):

像这样:

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

2 个答案:

答案 0 :(得分:1)

为什么不直接附加两个元组然后对它们进行排序:

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

答案 1 :(得分:0)

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

这可以在元组中组合N number of tuples,因此它不仅限于两个元组