【问题标题】:Python - how to sort a tuple of tuple and listPython - 如何对元组和列表的元组进行排序
【发布时间】:2020-07-20 10:33:47
【问题描述】:

我是 python 新手,正在努力排序。我在python中有一个以下元组和列表。

t = ((('s1',123),[10,1,23]), (('s2', 123),[4,1,12]), (('s3', 123),[22,1,30]),)

我想按列表中的第 3 个元素对元组进行排序。按 t[0][2][2] = 23,12,30 排序。 所以,它会在下面返回:

t = ( (('s2', 123),[4,1,12]), (('s1',123),[10,1,23]), (('s3', 123),[22,1,30]),)

【问题讨论】:

    标签: python-3.x sorting tuples


    【解决方案1】:

    如下使用sorted()

    t = ((('s1',123),[10,1,23]), (('s2', 123),[4,1,12]), (('s3', 123),[22,1,30]))
    t = sorted(t, key = lambda t: t[1][-1])
    

    【讨论】:

    • 我像 sorted(t, key = lambda x:x[1][2]) 一样解决了它,它起作用了。我假设 -1 代表列表中的最后一个元素。对不起,我是新人。
    • 对于t中的第一个元素,t[1]表示[10,1,23],list或tuple的终值索引为-1。因此,t[1][-1] 是 23,它是您的排序标准。
    • 是的。例如,如果一个列表 A = [1, 2, 3, 4], A[0] == 1, A[1] == 2, A[2] == 3, A[3] == 4,和 A[-1] == 4,A[-2] == 3,A[-3] == 2,A[-4] == 1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多