Python - 按总位数对元组进行排序

当需要按总位数对元组进行排序时,定义了一种方法,将列表中的每个元素转换为字符串,并获取每个字符串的长度,并将它们相加。这显示为该方法的结果。

以下是相同的演示 -

示例

def count_tuple_digits(row):
   return sum([len(str(element)) for element in row])

my_tuple = [(32, 14, 65, 723), (13, 26), (12345,), (137, 234, 314)]

print("元组是:")
print(my_tuple)

my_tuple.sort(key = count_tuple_digits)

print("结果是:")
print(my_tuple)
输出结果
元组是:
[(32, 14, 65, 723), (13, 26), (12345,), (137, 234, 314)]
结果是:
[(13, 26), (12345,), (32, 14, 65, 723), (137, 234, 314)]

解释

  • 定义了一个名为“count_tuple_digits”的方法,它以元组为参数,将列表中的每个元素转换为字符串,并获取每个字符串的长度,并将它们相加。

  • 这是使用作为输出返回的“sum”方法完成的。

  • 元组列表被定义并显示在控制台上。

  • 通过将键指定为方法来对元组进行排序。

  • 这是显示在控制台上的输出。